From: Anthony Liguori <aliguori@linux.vnet.ibm.com>
To: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 1/2] multiboot: Support arbitrary number of modules.
Date: Thu, 03 Dec 2009 17:24:59 -0600 [thread overview]
Message-ID: <4B1848CB.6060006@linux.vnet.ibm.com> (raw)
In-Reply-To: <20091203221958.GA16039@os.inf.tu-dresden.de>
Adam Lackorzynski wrote:
> multiboot: Support arbitrary number of modules.
>
> Addressed comments by Anthony.
>
> Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
> ---
> hw/pc.c | 260 ++++++++++++++++++++++++++++++++++++++------------------------
> 1 files changed, 159 insertions(+), 101 deletions(-)
>
> diff --git a/hw/pc.c b/hw/pc.c
> index 8c1b7ea..47d7796 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -51,6 +51,12 @@
> /* Show multiboot debug output */
> //#define DEBUG_MULTIBOOT
>
> +#ifdef DEBUG_MULTIBOOT
> +#define mb_debug(a...) fprintf(stderr, ## a)
> +#else
> +#define mb_debug(a...)
> +#endif
> +
> #define BIOS_FILENAME "bios.bin"
>
> #define PC_MAX_BIOS_SIZE (4 * 1024 * 1024)
> @@ -512,6 +518,77 @@ static long get_file_size(FILE *f)
> #error multiboot struct needs to fit in 16 bit real mode
> #endif
>
> +enum {
> + /* Multiboot info */
> + MBI_FLAGS = 0,
> + MBI_MEM_LOWER = 4,
> + MBI_MEM_UPPER = 8,
> + MBI_BOOT_DEVICE = 12,
> + MBI_CMDLINE = 16,
> + MBI_MODS_COUNT = 20,
> + MBI_MODS_ADDR = 24,
> + MBI_MMAP_ADDR = 48,
> +
> + MBI_SIZE = 88,
> +
> + /* Multiboot modules */
> + MB_MOD_START = 0,
> + MB_MOD_END = 4,
> + MB_MOD_CMDLINE = 8,
> +
> + MB_MOD_SIZE = 16,
> +
> + /* Region offsets */
> + ADDR_E820_MAP = MULTIBOOT_STRUCT_ADDR + 0,
> + ADDR_MBI = ADDR_E820_MAP + 0x500,
> +
> + /* Multiboot flags */
> + MULTIBOOT_FLAGS_MEMORY = 1 << 0,
> + MULTIBOOT_FLAGS_BOOT_DEVICE = 1 << 1,
> + MULTIBOOT_FLAGS_CMDLINE = 1 << 2,
> + MULTIBOOT_FLAGS_MODULES = 1 << 3,
> + MULTIBOOT_FLAGS_MMAP = 1 << 6,
> +};
> +
> +struct MultibootState {
> + void *mb_buf; /* buffer holding kernel, cmdlines and mb_infos */
> + uint32_t mb_buf_phys; /* address in target */
> + int mb_buf_size; /* size of mb_buf in bytes */
> + int mb_mods_avail; /* available slots for mb modules infos */
> + int mb_mods_count; /* currently used slots of mb modules */
> + int offset_mbinfo; /* offset of mb-info's in bytes */
> + int offset_cmdlines; /* offset in buffer for cmdlines */
> + int offset_mods; /* offset of modules in bytes */
> +};
>
Should be typedef struct MultibootState. See CODING_STYLE. Also,
shouldn't these offsets be something other than int? Does multiboot
always load in 32-bit mode (never 64-bit mode?).
mb_buf_phys should not be a u32. It should be a target address type.
--
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-12-03 23:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-30 22:25 [Qemu-devel] [PATCH 1/2] multiboot: Fix module loading and setting of mmap Adam Lackorzynski
2009-11-30 22:26 ` [Qemu-devel] [PATCH 2/2] multiboot: Support arbitrary number of modules Adam Lackorzynski
2009-12-01 6:51 ` Alexander Graf
2009-12-03 20:26 ` Anthony Liguori
2009-12-03 22:19 ` [Qemu-devel] [PATCH 1/2] " Adam Lackorzynski
2009-12-03 22:23 ` [Qemu-devel] [PATCH 2/2] multiboot: Separate multiboot loading into separate file Adam Lackorzynski
2009-12-03 23:20 ` Alexander Graf
2009-12-03 23:24 ` Anthony Liguori [this message]
2009-12-06 12:52 ` [Qemu-devel] [PATCH 1/2] multiboot: Support arbitrary number of modules Adam Lackorzynski
2009-12-06 12:53 ` [Qemu-devel] [PATCH 2/2] multiboot: Separate multiboot loading into separate file Adam Lackorzynski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B1848CB.6060006@linux.vnet.ibm.com \
--to=aliguori@linux.vnet.ibm.com \
--cc=adam@os.inf.tu-dresden.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.