This is a simple patch to parse and read the multiboot table in libpayload. It doesn't do much more then read the memory map for now, but the important thing is that we are storing off %eax and %ebx in the init code and using it when we need it.
The next step is probably an API where upon a multiboot aware payload could insert new things into the table (say, the drive structure, or the cmdline or other interesting information), and then pass it to a child payload.
I'm not sure what else we would need to do to libpayload so that grub will load the payloads, but I'm sure Robert will enlighten us.
Jordan