On 12.03.2013 16:09, Vladimir 'φ-coder/phcoder' Serbinenko wrote: > Hello, all. I've pushed my X201 work to gerrit. It also contains > spkmodem and serialice improvements (target-side, like EHCI debug > support). Host-side I attach a small patch to redirect clflush to > target. Code quality is bad but it already works. > Current known issues: > speedstep doesn't work > S3 doesn't work > many ACPI buttons don't work.
You will also need following blobs:
descriptor + me firmware
VGA BIOS
cpu microcode
All are extractible from original BIOS by using the extract tool I
published previously. cpu_microcode
(UUID=3030435f-0000-0000-ff00-000000000000) has a range of ff...ff at
the beginning you have to strip.
VGA UUID is 3030525f-0000-0000-ff00-000000000000.
descriptor and me firmware are files 001_descriptor.bin and 002_me.bin
>
> Not tested:
> dock
>
>
>
> diff --git a/qemu-0.15.x/target-i386/helper.h
> b/qemu-0.15.x/target-i386/helper.h
> index 6b518ad..3c1068a 100644
> --- a/qemu-0.15.x/target-i386/helper.h
> +++ b/qemu-0.15.x/target-i386/helper.h
> @@ -47,6 +47,7 @@ DEF_HELPER_1(lmsw, void, tl)
> DEF_HELPER_0(clts, void)
> DEF_HELPER_2(movl_drN_T0, void, int, tl)
> DEF_HELPER_1(invlpg, void, tl)
> +DEF_HELPER_1(clflush, void, tl)
>
> DEF_HELPER_3(enter_level, void, int, int, tl)
> #ifdef TARGET_X86_64
> diff --git a/qemu-0.15.x/target-i386/op_helper.c
> b/qemu-0.15.x/target-i386/op_helper.c
> index 1823c74..20d8d2d 100644
> --- a/qemu-0.15.x/target-i386/op_helper.c
> +++ b/qemu-0.15.x/target-i386/op_helper.c
> @@ -3053,6 +3053,12 @@ void helper_invlpg(target_ulong addr)
> tlb_flush_page(env, addr);
> }
>
> +void helper_clflush(target_ulong addr)
> +{
> + if (serialice_active)
> + serialice_handle_clflush ((uint32_t)addr);
> +}
> +
> void helper_rdtsc(void)
> {
> uint64_t val;
> diff --git a/qemu-0.15.x/target-i386/translate.c
> b/qemu-0.15.x/target-i386/translate.c
> index ccef381..c23585a 100644
> --- a/qemu-0.15.x/target-i386/translate.c
> +++ b/qemu-0.15.x/target-i386/translate.c
> @@ -7551,6 +7551,9 @@ static target_ulong disas_insn(DisasContext *s,
> target_ulong pc_start)
> if (!(s->cpuid_features & CPUID_CLFLUSH))
> goto illegal_op;
> gen_lea_modrm(s, modrm, ®_addr, &offset_addr);
> + gen_helper_clflush(cpu_A0);
> + gen_jmp_im(s->pc - s->cs_base);
> + gen_eob(s);
> }
> break;
> default:
>
signature.asc
Description: OpenPGP digital signature
-- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

