Revision a8170e5e hw/multiboot.c
b/hw/multiboot.c | ||
---|---|---|
80 | 80 |
/* buffer holding kernel, cmdlines and mb_infos */ |
81 | 81 |
void *mb_buf; |
82 | 82 |
/* address in target */ |
83 |
target_phys_addr_t mb_buf_phys;
|
|
83 |
hwaddr mb_buf_phys;
|
|
84 | 84 |
/* size of mb_buf in bytes */ |
85 | 85 |
unsigned mb_buf_size; |
86 | 86 |
/* offset of mb-info's in bytes */ |
87 |
target_phys_addr_t offset_mbinfo;
|
|
87 |
hwaddr offset_mbinfo;
|
|
88 | 88 |
/* offset in buffer for cmdlines in bytes */ |
89 |
target_phys_addr_t offset_cmdlines;
|
|
89 |
hwaddr offset_cmdlines;
|
|
90 | 90 |
/* offset of modules in bytes */ |
91 |
target_phys_addr_t offset_mods;
|
|
91 |
hwaddr offset_mods;
|
|
92 | 92 |
/* available slots for mb modules infos */ |
93 | 93 |
int mb_mods_avail; |
94 | 94 |
/* currently used slots of mb modules */ |
... | ... | |
97 | 97 |
|
98 | 98 |
static uint32_t mb_add_cmdline(MultibootState *s, const char *cmdline) |
99 | 99 |
{ |
100 |
target_phys_addr_t p = s->offset_cmdlines;
|
|
100 |
hwaddr p = s->offset_cmdlines;
|
|
101 | 101 |
char *b = (char *)s->mb_buf + p; |
102 | 102 |
|
103 | 103 |
get_opt_value(b, strlen(cmdline) + 1, cmdline); |
... | ... | |
106 | 106 |
} |
107 | 107 |
|
108 | 108 |
static void mb_add_mod(MultibootState *s, |
109 |
target_phys_addr_t start, target_phys_addr_t end,
|
|
110 |
target_phys_addr_t cmdline_phys)
|
|
109 |
hwaddr start, hwaddr end,
|
|
110 |
hwaddr cmdline_phys)
|
|
111 | 111 |
{ |
112 | 112 |
char *p; |
113 | 113 |
assert(s->mb_mods_count < s->mb_mods_avail); |
... | ... | |
276 | 276 |
*next_initrd = '\0'; |
277 | 277 |
/* if a space comes after the module filename, treat everything |
278 | 278 |
after that as parameters */ |
279 |
target_phys_addr_t c = mb_add_cmdline(&mbs, initrd_filename);
|
|
279 |
hwaddr c = mb_add_cmdline(&mbs, initrd_filename);
|
|
280 | 280 |
if ((next_space = strchr(initrd_filename, ' '))) |
281 | 281 |
*next_space = '\0'; |
282 | 282 |
mb_debug("multiboot loading module: %s\n", initrd_filename); |
Also available in: Unified diff