qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 06/14] i386: add bios linker/loader


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH v3 06/14] i386: add bios linker/loader
Date: Fri, 26 Jul 2013 11:42:45 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130621 Thunderbird/17.0.7

  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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]