Re: [edk2] Google Summer of Code 2012

Subject: Re: [edk2] Google Summer of Code 2012

From: "Andrei E. Warkentin" <>


Date: 2012-03-07 04:34:58

2012/3/6 Jordan Justen :

>> Basically, right now we build (for qemu, xen) two firmwares - one for
>> x86 and one for x64. Why not implement the 32-bit firmware as a 64-bit
>> EFI application? The DXE core "vdxe" would be compiled in way to let
>> it run in the 32-bit compat mode. Hardware use (e.g. TimerLib) and
>> arch protocols would thunk into the appropriate 64-bit code, and
>> console, block, network and variable storage services woulld thunk to
>> appropriate glue code as well. From, the perspective of 64-bit EFI,
>> the 32-bit EFI code would just be a bootloader. The goal here is to
>> allow 32-bit OS compatibility without having to boot into (and
>> maintain) a separate code base, as the virtual 32-bit EFI would be
>> platform independent.
> One concern I have is that the 32-bit thunk code would not be able to
> transition to 64-bit mode at runtime to call the "real" UEFI
> environment. That would seem to limit the potential uses somewhat.

You mean the RT interface, right? Should be okay... the 32-bit thunks
would expect to transition to
LM and then call the real 64-bit RT interface. It's sort of handwavy,
but I don't see any problems
other than the horrible overhead.

Here is another couple of ideas, both of which fall IMHO fall in the
"really useful" category.

1) Implement an NFSv3 client. Just something really basic, fully
synchronous. This involves a sun rpc library first. Once again, can be
RO at first to simplify task. Maybe even make it NFSv2 to skip dealing
with the mount protocol.

2) Implement support for software raid disks, like Linux-RAID. Linux
MD, levels 0 and 1 are a good start, and it can be RO at first.

Here are a couple oriented at people developing UEFI firmware:

1) Implement a FIQ-based debugger for the ARM EFI port. The goal here
is to allow examining the system state without actually "breaking
into" a debugger. Can be used to examine state when a system is
deadlocked. FIQ is this kind of "fast IRQ" which is more or less an
atavism (not supported as a delivery mode by "new" PICs like the ARM
GIC, and available only through secondary "legacy" interrupt
controllers). Something similar to the Android FIQ debugger (errr, now
also available on the

2) Implement an NMI-based watchdog/debugger for x64/IA-32. Analogous to the (1).


Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
edk2-devel mailing list