[SeaBIOS] [PATCH 2/2] accept MADT over fw_cfg
Kevin O'Connor
kevin at koconnor.net
Wed May 8 01:03:08 CEST 2013
On Tue, May 07, 2013 at 07:33:13PM +0300, Michael S. Tsirkin wrote:
> > If you really feel QEMU should direct the pointer and checksum
> > updates, you might want to consider something like:
> >
> > struct tabledeploy_s {
> > u32 command;
> > union {
> > // COMMAND_ALLOC - allocate a table from the given "file"
> > struct {
> > char alloc_file[FILESZ];
> > u32 alloc_align;
> > u8 alloc_zone;
> > };
> >
> > // COMMAND_PATCH - patch the table (originating from
> > // "dest_file") to a pointer to the table originating from
> > // "src_file".
> > struct {
> > char patch_dest_file[FILESZ];
> > char patch_src_file[FILESZ];
> > u32 patch_offset;
> > u8 patch_size;
> > };
> >
>
> I think ADD is better since this way we can use not the start of table,
> but something in the middle. For example, a single fw_cfg can give us
> multiple tables, it should be up to QEMU.
>
> It's equivalent to PATCH if the original data is 0.
>
> > // COMMAND_CHECKSUM - Update a checksum in a table
> > struct {
> > char cksum_file[FILESZ];
> > u32 cksum_offset;
> > u32 cksum_start;
> > u32 cksum_length;
> > };
> >
>
> Same here. So I would do:
>
> COMMAND_ADD_POINTER
>
> COMMAND_ADD_CHECKSUM
That's fine.
-Kevin
More information about the SeaBIOS
mailing list