Hi, Hacked up coreboot support to verify the interface.
> + /* > + * COMMAND_ALLOCATE - allocate a table from @alloc_file > + * subject to @alloc_align alignment (must be power of 2) > + * and @alloc_zone (can be HIGH or FSEG) requirements. > + * > + * Must appear exactly once for each file, and before > + * this file is referenced by any other command. > + */ Do we need alloc_zone? Rules are simple: rsdp goes to fseg, everything else to high, correct? Both seabios and coreboot handle that by first placing *all* acpi tables in high memory, then go place a rsdp copy in fseg. > + /* > + * COMMAND_ADD_POINTER - patch the table (originating from > + * @dest_file) at @pointer_offset, by adding a pointer to the table > + * originating from @src_file. 1,2,4 or 8 byte unsigned > + * addition is used depending on @pointer_size. > + */ Do we need pointer_size? Current tables use 4 bytes only. 1+2 bytes is pointless, the src_file address will be big enougth that it doesn't fit into one or two bytes, so I doubt they will ever be used. 8 bytes would only be used when placing acpi tables above 4g. Is that something expected to happen? If not 4 bytes is enough, even for 8 byte pointers as the 4 high bytes would be zero no matter what. cheers, Gerd