[coreboot] X201 port is in gerrit

Vladimir 'φ-coder/phcoder' Serbinenko phcoder at gmail.com
Tue Mar 12 16:58:04 CET 2013


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, &reg_addr, &offset_addr);
> +               gen_helper_clflush(cpu_A0);
> +               gen_jmp_im(s->pc - s->cs_base);
> +               gen_eob(s);
>              }
>              break;
>          default:
> 



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 294 bytes
Desc: OpenPGP digital signature
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20130312/6b104b71/attachment.sig>


More information about the coreboot mailing list