From 513f789f6b187faf1fd533dc6972bbfa021c4381 Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sun, 8 Mar 2009 09:51:29 +0000 Subject: [PATCH] Use firmware configuration instead of NVRAM (initial patch by Aurelien Jarno) Use firmware configuration device for boot device, kernel, initrd and kernel command line parameters on PPC, Sparc32 and Sparc64. Update OpenBIOS images to r479 which supports the change. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6777 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/firmware_abi.h | 127 --------------------------------------- hw/ppc_mac.h | 1 + hw/ppc_newworld.c | 37 +++++++++++- hw/ppc_oldworld.c | 33 +++++----- hw/sun4m.c | 98 +++++++++++++----------------- hw/sun4u.c | 75 +++++------------------ pc-bios/README | 2 +- pc-bios/openbios-ppc | Bin 271336 -> 271336 bytes pc-bios/openbios-sparc32 | Bin 234116 -> 234116 bytes pc-bios/openbios-sparc64 | Bin 476064 -> 476064 bytes 10 files changed, 112 insertions(+), 261 deletions(-) diff --git a/hw/firmware_abi.h b/hw/firmware_abi.h index 713484d414..54702b290e 100644 --- a/hw/firmware_abi.h +++ b/hw/firmware_abi.h @@ -1,113 +1,6 @@ #ifndef FIRMWARE_ABI_H #define FIRMWARE_ABI_H -#ifndef __ASSEMBLY__ -/* Open Hack'Ware NVRAM configuration structure */ - -/* Version 3 */ -typedef struct ohwcfg_v3_t ohwcfg_v3_t; -struct ohwcfg_v3_t { - /* 0x00: structure identifier */ - uint8_t struct_ident[0x10]; - /* 0x10: structure version and NVRAM description */ - uint32_t struct_version; - uint16_t nvram_size; - uint16_t pad0; - uint16_t nvram_arch_ptr; - uint16_t nvram_arch_size; - uint16_t nvram_arch_crc; - uint8_t pad1[0x02]; - /* 0x20: host architecture */ - uint8_t arch[0x10]; - /* 0x30: RAM/ROM description */ - uint64_t RAM0_base; - uint64_t RAM0_size; - uint64_t RAM1_base; - uint64_t RAM1_size; - uint64_t RAM2_base; - uint64_t RAM2_size; - uint64_t RAM3_base; - uint64_t RAM3_size; - uint64_t ROM_base; - uint64_t ROM_size; - /* 0x80: Kernel description */ - uint64_t kernel_image; - uint64_t kernel_size; - /* 0x90: Kernel command line */ - uint64_t cmdline; - uint64_t cmdline_size; - /* 0xA0: Kernel boot image */ - uint64_t initrd_image; - uint64_t initrd_size; - /* 0xB0: NVRAM image */ - uint64_t NVRAM_image; - uint8_t pad2[8]; - /* 0xC0: graphic configuration */ - uint16_t width; - uint16_t height; - uint16_t depth; - uint16_t graphic_flags; - /* 0xC8: CPUs description */ - uint8_t nb_cpus; - uint8_t boot_cpu; - uint8_t nboot_devices; - uint8_t pad3[5]; - /* 0xD0: boot devices */ - uint8_t boot_devices[0x10]; - /* 0xE0 */ - uint8_t pad4[0x1C]; /* 28 */ - /* 0xFC: checksum */ - uint16_t crc; - uint8_t pad5[0x02]; -} __attribute__ (( packed )); - -#define OHW_GF_NOGRAPHICS 0x0001 - -static inline uint16_t -OHW_crc_update (uint16_t prev, uint16_t value) -{ - uint16_t tmp; - uint16_t pd, pd1, pd2; - - tmp = prev >> 8; - pd = prev ^ value; - pd1 = pd & 0x000F; - pd2 = ((pd >> 4) & 0x000F) ^ pd1; - tmp ^= (pd1 << 3) | (pd1 << 8); - tmp ^= pd2 | (pd2 << 7) | (pd2 << 12); - - return tmp; -} - -static inline uint16_t -OHW_compute_crc (ohwcfg_v3_t *header, uint32_t start, uint32_t count) -{ - uint32_t i; - uint16_t crc = 0xFFFF; - uint8_t *ptr = (uint8_t *)header; - int odd; - - odd = count & 1; - count &= ~1; - for (i = 0; i != count; i++) { - crc = OHW_crc_update(crc, (ptr[start + i] << 8) | ptr[start + i + 1]); - } - if (odd) { - crc = OHW_crc_update(crc, ptr[start + i] << 8); - } - - return crc; -} - -/* Sparc32 runtime NVRAM structure for SMP CPU boot */ -struct sparc_arch_cfg { - uint32_t smp_ctx; - uint32_t smp_ctxtbl; - uint32_t smp_entry; - uint8_t valid; - uint8_t unused[51]; -}; - /* OpenBIOS NVRAM partition */ struct OpenBIOS_nvpart_v1 { uint8_t signature; @@ -175,24 +68,4 @@ Sun_init_header(struct Sun_nvram *header, const uint8_t *macaddr, int machine_id header->checksum = tmp; } - -#else /* __ASSEMBLY__ */ - -/* Structure offsets for asm use */ - -/* Open Hack'Ware NVRAM configuration structure */ -#define OHW_ARCH_PTR 0x18 -#define OHW_RAM_SIZE 0x38 -#define OHW_BOOT_CPU 0xC9 - -/* Sparc32 runtime NVRAM structure for SMP CPU boot */ -#define SPARC_SMP_CTX 0x0 -#define SPARC_SMP_CTXTBL 0x4 -#define SPARC_SMP_ENTRY 0x8 -#define SPARC_SMP_VALID 0xc - -/* Sun IDPROM structure at the end of NVRAM */ -#define SPARC_MACHINE_ID 0x1fd9 - -#endif /* __ASSEMBLY__ */ #endif /* FIRMWARE_ABI_H */ diff --git a/hw/ppc_mac.h b/hw/ppc_mac.h index df148b2439..74d19a1991 100644 --- a/hw/ppc_mac.h +++ b/hw/ppc_mac.h @@ -35,6 +35,7 @@ #define PROM_ADDR 0xfff00000 #define KERNEL_LOAD_ADDR 0x01000000 +#define CMDLINE_ADDR 0x017ff000 #define INITRD_LOAD_ADDR 0x01800000 #define ESCC_CLOCK 3686400 diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c index b28586485b..4a33ebde09 100644 --- a/hw/ppc_newworld.c +++ b/hw/ppc_newworld.c @@ -78,6 +78,12 @@ static CPUReadMemoryFunc *unin_read[] = { &unin_readl, }; +static int fw_cfg_boot_set(void *opaque, const char *boot_device) +{ + fw_cfg_add_i16(opaque, FW_CFG_BOOT_DEVICE, boot_device[0]); + return 0; +} + /* PowerPC Mac99 hardware initialisation */ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size, const char *boot_device, @@ -167,9 +173,24 @@ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size, } if (linux_boot) { + uint64_t lowaddr = 0; kernel_base = KERNEL_LOAD_ADDR; - /* now we can load the kernel */ - kernel_size = load_image(kernel_filename, phys_ram_base + kernel_base); + + /* Now we can load the kernel. The first step tries to load the kernel + supposing PhysAddr = 0x00000000. If that was wrong the kernel is + loaded again, the new PhysAddr being computed from lowaddr. */ + kernel_size = load_elf(kernel_filename, kernel_base, NULL, &lowaddr, NULL); + if (kernel_size > 0 && lowaddr != KERNEL_LOAD_ADDR) { + kernel_size = load_elf(kernel_filename, (2 * kernel_base) - lowaddr, + NULL, 0, NULL); + } + if (kernel_size < 0) + kernel_size = load_aout(kernel_filename, kernel_base, + ram_size - kernel_base); + if (kernel_size < 0) + kernel_size = load_image_targphys(kernel_filename, + kernel_base, + ram_size - kernel_base); if (kernel_size < 0) { cpu_abort(env, "qemu: could not load kernel '%s'\n", kernel_filename); @@ -321,6 +342,18 @@ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size, fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1); fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, ARCH_MAC99); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); + if (kernel_cmdline) { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); + pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + } else { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); + } + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base); + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); + fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, ppc_boot_device); + qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); } QEMUMachine core99_machine = { diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c index 46d0362559..cba43cd278 100644 --- a/hw/ppc_oldworld.c +++ b/hw/ppc_oldworld.c @@ -108,6 +108,12 @@ static int vga_osi_call (CPUState *env) return 1; /* osi_call handled */ } +static int fw_cfg_boot_set(void *opaque, const char *boot_device) +{ + fw_cfg_add_i16(opaque, FW_CFG_BOOT_DEVICE, boot_device[0]); + return 0; +} + static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, const char *boot_device, const char *kernel_filename, @@ -118,8 +124,6 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, CPUState *env = NULL, *envs[MAX_CPUS]; char buf[1024]; qemu_irq *pic, **heathrow_irqs; - nvram_t nvram; - m48t59_t *m48t59; int linux_boot, i; ram_addr_t ram_offset, vga_ram_offset, bios_offset, vga_bios_offset; uint32_t kernel_base, initrd_base; @@ -129,7 +133,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, int vga_bios_size, bios_size; int pic_mem_index, nvram_mem_index, dbdma_mem_index, cuda_mem_index; int escc_mem_index, ide_mem_index[2]; - int ppc_boot_device; + uint16_t ppc_boot_device; BlockDriverState *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; int index; void *fw_cfg; @@ -363,23 +367,24 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, if (graphic_depth != 15 && graphic_depth != 32 && graphic_depth != 8) graphic_depth = 15; - m48t59 = m48t59_init(0, 0xFFF04000, 0x0074, NVRAM_SIZE, 59); - nvram.opaque = m48t59; - nvram.read_fn = &m48t59_read; - nvram.write_fn = &m48t59_write; - PPC_NVRAM_set_params(&nvram, NVRAM_SIZE, "HEATHROW", ram_size, - ppc_boot_device, kernel_base, kernel_size, - kernel_cmdline, - initrd_base, initrd_size, - /* XXX: need an option to load a NVRAM image */ - 0, - graphic_width, graphic_height, graphic_depth); /* No PCI init: the BIOS will do it */ fw_cfg = fw_cfg_init(0, 0, CFG_ADDR, CFG_ADDR + 2); fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1); fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, ARCH_HEATHROW); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); + if (kernel_cmdline) { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); + pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + } else { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); + } + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base); + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); + fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, ppc_boot_device); + qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); } QEMUMachine heathrow_machine = { diff --git a/hw/sun4m.c b/hw/sun4m.c index 21667c038e..681d9736e0 100644 --- a/hw/sun4m.c +++ b/hw/sun4m.c @@ -174,24 +174,9 @@ void DMA_register_channel (int nchan, { } -static int nvram_boot_set(void *opaque, const char *boot_device) +static int fw_cfg_boot_set(void *opaque, const char *boot_device) { - unsigned int i; - uint8_t image[sizeof(ohwcfg_v3_t)]; - ohwcfg_v3_t *header = (ohwcfg_v3_t *)ℑ - m48t59_t *nvram = (m48t59_t *)opaque; - - for (i = 0; i < sizeof(image); i++) - image[i] = m48t59_read(nvram, i) & 0xff; - - pstrcpy((char *)header->boot_devices, sizeof(header->boot_devices), - boot_device); - header->nboot_devices = strlen(boot_device) & 0xff; - header->crc = cpu_to_be16(OHW_compute_crc(header, 0x00, 0xF8)); - - for (i = 0; i < sizeof(image); i++) - m48t59_write(nvram, i, image[i]); - + fw_cfg_add_i16(opaque, FW_CFG_BOOT_DEVICE, boot_device[0]); return 0; } @@ -204,48 +189,11 @@ static void nvram_init(m48t59_t *nvram, uint8_t *macaddr, const char *cmdline, unsigned int i; uint32_t start, end; uint8_t image[0x1ff0]; - ohwcfg_v3_t *header = (ohwcfg_v3_t *)ℑ - struct sparc_arch_cfg *sparc_header; struct OpenBIOS_nvpart_v1 *part_header; memset(image, '\0', sizeof(image)); - // Try to match PPC NVRAM - pstrcpy((char *)header->struct_ident, sizeof(header->struct_ident), - "QEMU_BIOS"); - header->struct_version = cpu_to_be32(3); /* structure v3 */ - - header->nvram_size = cpu_to_be16(0x2000); - header->nvram_arch_ptr = cpu_to_be16(sizeof(ohwcfg_v3_t)); - header->nvram_arch_size = cpu_to_be16(sizeof(struct sparc_arch_cfg)); - pstrcpy((char *)header->arch, sizeof(header->arch), arch); - header->nb_cpus = smp_cpus & 0xff; - header->RAM0_base = 0; - header->RAM0_size = cpu_to_be64((uint64_t)RAM_size); - pstrcpy((char *)header->boot_devices, sizeof(header->boot_devices), - boot_devices); - header->nboot_devices = strlen(boot_devices) & 0xff; - header->kernel_image = cpu_to_be64((uint64_t)KERNEL_LOAD_ADDR); - header->kernel_size = cpu_to_be64((uint64_t)kernel_size); - if (cmdline) { - pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, cmdline); - header->cmdline = cpu_to_be64((uint64_t)CMDLINE_ADDR); - header->cmdline_size = cpu_to_be64((uint64_t)strlen(cmdline)); - } - // XXX add initrd_image, initrd_size - header->width = cpu_to_be16(width); - header->height = cpu_to_be16(height); - header->depth = cpu_to_be16(depth); - if (nographic) - header->graphic_flags = cpu_to_be16(OHW_GF_NOGRAPHICS); - - header->crc = cpu_to_be16(OHW_compute_crc(header, 0x00, 0xF8)); - - // Architecture specific header - start = sizeof(ohwcfg_v3_t); - sparc_header = (struct sparc_arch_cfg *)&image[start]; - sparc_header->valid = 0; - start += sizeof(struct sparc_arch_cfg); + start = 0; // OpenBIOS nvram variables // Variable partition @@ -277,8 +225,6 @@ static void nvram_init(m48t59_t *nvram, uint8_t *macaddr, const char *cmdline, for (i = 0; i < sizeof(image); i++) m48t59_write(nvram, i, image[i]); - - qemu_register_boot_set(nvram_boot_set, nvram); } static void *slavio_intctl; @@ -604,6 +550,18 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, ram_addr_t RAM_size, fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id); fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_DEPTH, graphic_depth); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, KERNEL_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); + if (kernel_cmdline) { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); + pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + } else { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); + } + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, INITRD_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, 0); // not used + fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, boot_device[0]); + qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); } enum { @@ -1362,6 +1320,19 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size, fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1); fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id); + fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_DEPTH, graphic_depth); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, KERNEL_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); + if (kernel_cmdline) { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); + pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + } else { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); + } + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, INITRD_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, 0); // not used + fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, boot_device[0]); + qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); } /* SPARCserver 1000 hardware initialisation */ @@ -1580,6 +1551,19 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size, fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1); fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id); + fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_DEPTH, graphic_depth); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, KERNEL_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); + if (kernel_cmdline) { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); + pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + } else { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); + } + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, INITRD_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, 0); // not used + fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, boot_device[0]); + qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); } /* SPARCstation 2 hardware initialisation */ diff --git a/hw/sun4u.c b/hw/sun4u.c index 55e3880516..a8c4347e12 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -89,24 +89,9 @@ void DMA_register_channel (int nchan, { } -static int nvram_boot_set(void *opaque, const char *boot_device) +static int fw_cfg_boot_set(void *opaque, const char *boot_device) { - unsigned int i; - uint8_t image[sizeof(ohwcfg_v3_t)]; - ohwcfg_v3_t *header = (ohwcfg_v3_t *)ℑ - m48t59_t *nvram = (m48t59_t *)opaque; - - for (i = 0; i < sizeof(image); i++) - image[i] = m48t59_read(nvram, i) & 0xff; - - pstrcpy((char *)header->boot_devices, sizeof(header->boot_devices), - boot_device); - header->nboot_devices = strlen(boot_device) & 0xff; - header->crc = cpu_to_be16(OHW_compute_crc(header, 0x00, 0xF8)); - - for (i = 0; i < sizeof(image); i++) - m48t59_write(nvram, i, image[i]); - + fw_cfg_add_i16(opaque, FW_CFG_BOOT_DEVICE, boot_device[0]); return 0; } @@ -124,51 +109,11 @@ static int sun4u_NVRAM_set_params (m48t59_t *nvram, uint16_t NVRAM_size, unsigned int i; uint32_t start, end; uint8_t image[0x1ff0]; - ohwcfg_v3_t *header = (ohwcfg_v3_t *)ℑ - struct sparc_arch_cfg *sparc_header; struct OpenBIOS_nvpart_v1 *part_header; memset(image, '\0', sizeof(image)); - // Try to match PPC NVRAM - pstrcpy((char *)header->struct_ident, sizeof(header->struct_ident), - "QEMU_BIOS"); - header->struct_version = cpu_to_be32(3); /* structure v3 */ - - header->nvram_size = cpu_to_be16(NVRAM_size); - header->nvram_arch_ptr = cpu_to_be16(sizeof(ohwcfg_v3_t)); - header->nvram_arch_size = cpu_to_be16(sizeof(struct sparc_arch_cfg)); - pstrcpy((char *)header->arch, sizeof(header->arch), arch); - header->nb_cpus = smp_cpus & 0xff; - header->RAM0_base = 0; - header->RAM0_size = cpu_to_be64((uint64_t)RAM_size); - pstrcpy((char *)header->boot_devices, sizeof(header->boot_devices), - boot_devices); - header->nboot_devices = strlen(boot_devices) & 0xff; - header->kernel_image = cpu_to_be64((uint64_t)kernel_image); - header->kernel_size = cpu_to_be64((uint64_t)kernel_size); - if (cmdline) { - pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, cmdline); - header->cmdline = cpu_to_be64((uint64_t)CMDLINE_ADDR); - header->cmdline_size = cpu_to_be64((uint64_t)strlen(cmdline)); - } - header->initrd_image = cpu_to_be64((uint64_t)initrd_image); - header->initrd_size = cpu_to_be64((uint64_t)initrd_size); - header->NVRAM_image = cpu_to_be64((uint64_t)NVRAM_image); - - header->width = cpu_to_be16(width); - header->height = cpu_to_be16(height); - header->depth = cpu_to_be16(depth); - if (nographic) - header->graphic_flags = cpu_to_be16(OHW_GF_NOGRAPHICS); - - header->crc = cpu_to_be16(OHW_compute_crc(header, 0x00, 0xF8)); - - // Architecture specific header - start = sizeof(ohwcfg_v3_t); - sparc_header = (struct sparc_arch_cfg *)&image[start]; - sparc_header->valid = 0; - start += sizeof(struct sparc_arch_cfg); + start = 0; // OpenBIOS nvram variables // Variable partition @@ -200,8 +145,6 @@ static int sun4u_NVRAM_set_params (m48t59_t *nvram, uint16_t NVRAM_size, for (i = 0; i < sizeof(image); i++) m48t59_write(nvram, i, image[i]); - qemu_register_boot_set(nvram_boot_set, nvram); - return 0; } @@ -575,6 +518,18 @@ static void sun4uv_init(ram_addr_t RAM_size, int vga_ram_size, fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1); fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, KERNEL_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); + if (kernel_cmdline) { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); + pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + } else { + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); + } + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, INITRD_LOAD_ADDR); + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); + fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, boot_devices[0]); + qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); } enum { diff --git a/pc-bios/README b/pc-bios/README index 247689bcde..4b9b2c5bbf 100644 --- a/pc-bios/README +++ b/pc-bios/README @@ -42,7 +42,7 @@ firmware implementation. The goal is to implement a 100% IEEE 1275-1994 (referred to as Open Firmware) compliant firmware. The included images for Sparc32, Sparc64 and PowerPC (for 32 and 64 bit - PPC CPUs) are built from OpenBIOS 1.0 release (SVN revision 463). + PPC CPUs) are built from OpenBIOS SVN revision 479. - The PXE roms come from Rom-o-Matic etherboot 5.4.2. pcnet32:pcnet32 -- [0x1022,0x2000] diff --git a/pc-bios/openbios-ppc b/pc-bios/openbios-ppc index 87fd91dab25f5a9937e0fe92c40fb0ac34614396..d0fa6c930c9bbdd4a05286811a71674acddcec19 100644 GIT binary patch delta 31140 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 esb~_u3lTVEo> diff --git a/pc-bios/openbios-sparc32 b/pc-bios/openbios-sparc32 index 7a8eda91ce1761a9ae150210eae60c30a057b130..8f6289e052b6b93049b67c736c746cc297e677fc 100644 GIT binary patch delta 16712 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
  • PSbMZ8{b;Vn+G)0T60D6M=7l}i&q(a0y)QK-aR-b88XW4JS z?BTA#H4zPNw@{o}7U@6?)E5jD?lfV7q5e-XTTK%J7IXc79#foZqxktock zASxwPZ*s(0l@o=0z++--cx<<6;`7cFo5nW^imZ#z`sj6mUO7Z=_oG+HS9Z@~Mf^~A z#^{H5ztl?Fra2@-MS$~EM_8aXCBM4IWJrXJ69}0EhmH~uPv_Hm#-xURI|a>6(aB9{ z5_!L6*$^ES6vhG?8Qj+MfYs7SwqsR3{>rzvGzf}Wlb|_J+(IPWqGczc!9tc``X%1y z&&S}|<{SM2VAoic-W!;X8Nu>%;tcPDcP#0H0>YyR3%p=VeFUa75E-32_zgN>QpE*8 zxP;EM`Y6PVUNid_uj)+>{|8wu#`&fysvcAC{X2J|)iLnjtw;C`v^HP)@74o+!bQ`> zx1A|wQos;}It(_!JBy2L;5b|DGbBNwy*s$=Vj|1o_KV5klVNyq1V>(vS?%DbE{ayN zI4WgaI`8zWqI$9^xWE!tx>AyC?P75z)ng#`Vmk%~0ciSS)g4W%1FZnOPm~vbg;_WG zLgG=lhT9YyX)C_NlAcO#P zl8WjC{ccukfwLzDvc*v!Rte9tAnwe^;{dcl`-KAvv1_&(R zt7N+kn$lIp6jzeut74MUtV&N8w_loa?y&BM)@}jYR!!LcA zVXZ@}gVcplcagaLuwMrDG#_^DkQMo`SEDZ*IMo<2jBo%))-@HBSAymZAKtI=e96}j z-;^@ZzYMe%kxMuO`1Y@i>=(TCtNCmh5BvHatTb(QPeeqU@_8i_iS=%)@{jp2`CuQD zKOxTt@+c6Ri0BYc1JeK?PC`z@fa}IWwJ-q$+TPi2ok!;flLDATz}UUCd$Fx7W~!6c z3!|-Cr6-mj`8st>&j{C8fpQ$i@15ZD?S9|ngR1*Xqkr%NhzEc-nya$y{+7=IM4ul7 z(w-=(!+0S+=aqmsdk3QDJ3y@RgE+;H1L8yHSb?ksZ1f|_X{ik}0-CO?QqKy>&)Sh?75 z8vT+V1P6r258`Kh86cMVL6iYvzz^anzPCShO!s_0kQb^VjKO{&^LQVD%@pC7@kcNkRZJ%|~r081=$Vo$p zK!Q|n-osn3K0U_69AnMQ)@Y}SG{~tdBJ=A9rAVvN^*x_DXc|6XPstR(MLb%*;U$B~ z!!Npk~6+oGB%F$%LUsNQ7OT9psWdDXR4EPf!ten*lZyrZ{l!Sh+S*lpjdFUl)J zf_El~VbqV+d8G?qS$eOfm|t_51a-Da_)y!Z!xB#~L}3go<`+)ykc19tsUHY-mkwVZ zP~i|iRIy=`lh64!TUy?364U}6$Oa%6gHam^9us&K9&GoU0351|s^CSwHmZ{0P+d>J zL7Rp&VpYCh4jA<-)^03MyS~lUbmemK`Y26THlKDqbwt-ajVVn-N=WCct|yJ?N^+$* zh<{=sk=w6NkLVidKogBr6;niN7{&*#kB{gQ2=Y$zgk0Y!I7Kbg<{F5$=TwvV+@s#I5{VEH%*kcrTe3mWJe zN_|5n)Pa6GvF@h<7uw$7P2a^^U!uv7mAJ*?d47w_Do}&JcfCu2)Q3rh%@$x*fLhue zYEmWIkm!=v0S9rui$)Xu`peP(GWzWpr*9L!GT-5zKm2{{c<&k>Kr3l`+&2wWRB9FA zn}!5Ky0DCI`97KL=1t${%>L;lOxJG^7}bS27(`7rQ^*9=1$$R9Ey;!kBryQ)K}-aJ z`U3LkP1;_ab2Dqq1(VCW+NT-J2B7MOFfXY0g2;E?OtoH!_En|?G8G^ay29@)+1hH6 zZO$V>bX7$)*a4HC>{C-!R4+0Ktwb*bG@+^iKi$5i-73Htk#W464Cn*gEUR+;Ucnf3j4MNiZ_oXTfFGE2Gqov~{ zG@^sP9>8Q14d4o(p=#PY=kpYPrh?(`i3!3<@ge;a9hqLF3s-?ur4m#Hb^c?1@m4ZJ z9sfgm`1>R+wa-A#c>Yg()(@ue{dcwQxSbkt{-L{wJjm0O zq}20M?;?^3t8zmwh~pO?gs13thC&9iN*3U#xn1H zp7JokVQWu^V6nk3Skxk42Um^ARjNl=VOGZqoAkMq-23GT8a9~~%Y_=YfjuLi)38MA zHt*=CsoBKhO&HRPk)scKLYRzh!Lyu?d|u2KA?>u-+GbuYR+M8l#D&* z@3d@2$lnom8E9n6vve#s1QnzDI!4~2V>zr`?$EKUdw-54|7brktIWbUuzN&x=2`5; z{3p&*8$!w1_vNVpEcKqDka|AYEqI*}{VSasK_Gl*DlLT1?g2w^%(I*2$^e!Ta)H*x zP)r|R^_K6Wle!^};}o*YBGKF>s2E9=NK}|L1+YnZ4N?qMjzfPD-&H z8Oo*w_tP93@wPCOEt}9^H9{rcvCCmb*&zl{nk2?>5+#`S7l{EnePY)aw|o)Ga+&6D zqvf~T4*nr8fD9x-z)E1^t}?l11j}NZRXLLl z|H$c zpteCs11@#;qa9Ee!IUEw*misH9o4Icxq4=rB*i*KPZYXmfK(6;IMK%4LpTU^$=6QL z$MGCXB=FqQpl1tMa6crYbEOr_N;ng(C@zd{@Y85jPH#v?EK?IS5S-ZL1mEP1_HxJo z9#%k`oD@EsIy3k?y^6fgH*JF3iMADhQ$sz?nP{LLTT#Z-WuO63aVKb?5B1$=JE|h4 zC#@m^v{mREtOi7$BzGnt>LViX#B30%^2RVP6M!p_&qXkNz>(u4nQ5#yQjnie@deW^ zppzps`BuoycV0za9?32t!DxEr`B7|%=C8x$rYKgZ>+cbZTOti`XVx!Yie{-#d&yn# z`yNB2wv88YwxIYlPCEswE-9GRU3%)PM|<5pqGmv6*5kvl&S$XjI4Zq9J?;(^)U}{h z`Rfbv${2Q!=Ceui&KQ;$+>eQNfvkKqhGm7HNpkDND4d4q8)AA`ESq%)XkjeN3{U_g za`O|2Z*uM^Cdx-+**qf-^@%tTSbVwxd_YZ+#KUBKoNfvvlltqRoEgU!vRCBFIF|b0 zr`cr4L$*&-c+EFGoLj;)$w%zEq5h#@F~sZFacn|(Jt)L|qN6DMSuI%7-(e{|#Ha=r zn%C-4ER(I18%MG9JM;JyZ-Jjlz)J98CC0PZJN>!w)c+&&r~IG&d({33=#TaFUyf&q zext@Dunf&-BU|zkSiFY)wq@BEc16P^d7+Wvke^&(L`0BU+KgxzTavRTL2&<; zOD3^h>_a(tGBYJOD4<%E_dg)J@?oi?5cb^3tR$0`C}~4#vnq$NOQIgE9Hf{<3Iji0 zzET7MJjuP2*%Gp&DGcB3<&9JDCdpk>Sm|)71S4ESgn1E%Cgmkl84gs-)~T!%x64ym z3@eg@?qyr?Cg017al3gh1XVA`-^cR9rIp(z(7un7ylpa>qa?4tPlX+p#o}3giz$nJ zitoX)lFe|=r)By5teJ(_SMrIr5X3DxIftDM?`|TKF4v3njbRXncI1)MSXP{|sa!CJ zl8NF>kA7pCSqp!;hSNiG;WUObVsi5|wwcw*xesE9Iyq)KD-8Fn{3Og1i}Og=sx?w* zWq6WYF`cEySsWK9ASWXw(gKLO5oV~n<)i5gCs4p&E=$*Rx5@(#vIIHL%pMN!c0rVE zTedwBm5siAtVM1xvt*;?h*Q_yT83l1&JSS$jD;!L&3hv%?DL!E;{7;1_Dk{1*{(ka%pWaP1Y4YX{17$#_u<%ikY5DSfe z*(peJ%v>lP_Bj`B-YqB2!_6q?dvDfxFb_#SISygnbnzpk|`KwyyC z5jfoh%vC;`&nm$G+yXY2rdq%f4Mlrts_*NiRm4TPzRpnw&OaguV@u3Wn4P5vh(~&e zEzH&kGqXFw@kuU(o+F88)b_}y^4Z5&?r?7?z*o+W9(b2&K06TNjaC#-y5>U+7FoN1 zH9(Ym7O?z~?haIHH!!HIEMV!Zt|k3(C;>n-pHRa`#S`Gr(&3Jf5`5;JJ*1e!Pr&*u z9Vny8ZK;;MJfLqB+eO5UClC^#x`ix#qJ>7d3@FXUX;Mg;U}o*2eJAd*9{n^Lyb_;?8`LXW&~5wnKZ z{ZEYfViCG=6-hDO>~h7E?2CsiE>zGcW`%IqSR;Jv zTHbD*136a+ci`QrgKwpp!^==MIaA1|Bq0hP%sgl(_Q+ZeEMXbLjU7IL8Oo!L^4Cis zPD##K%5H*{^ru*EI80m+Vy~F&*cO!}sGw#2Q*00Onm)=#i=1A_)`QhOh0Nq@twQUk zg{%uSS|qj>w+stQA9u&)D6a?PUJE0w)a&cWi%@r4Iw}Pz)+N-*8!c=#NM5(FeMXCC z2lVC&lZ+I4+asl@Gbv^P;a3BVks-=QiFrBgH7cv5f6{%HpyrS570u9YNC(qD~?`xZ51=6yPHe zC2U|g{G+u|XA8GA+M>p{DLu~Nk`d%?`PLjHS~Y$owJEQi4lvWAP!+fQ3{pSb`WaOq zbDm|(XIol*!lw)wkE9jyNnl-*6F*zMK!b%k^AF!3M!>*OP}%@7;MANbfcKZlS+73J ziV;v~99OcXiCn07Im05MjZIH!8Xpz78mis%sw17k7o?XZuVE7?)heQiHQK(ok^KVzmiX%GMuEKP}U zj-i-p*GuyJpRuh*k9&JWuYxrfmWTL-*+S`gB0xK|9`ic}yR0pRIoaiXrEo^5tdwO0 zc-*Aco25wWk{rJZ{gQli73R_{4|{=_m*>8~;>Q_VAvOc8U~!~%He4ajsiQPSCVwYQ zp-tZU0-F+NclRZT_&P5{AS*@I;xo+-e1`cJR&(|Rwj#s`?cY8_0?mIBK@o%~D2jCy z6w@hI$}d7tMmc`9I{DJoEdGAc<(qtHeU#|J@}U=;;7guZfCIMlj&)!kPC6yGx>MA{ z!j}hhBJwz{jm?;naJ=%24;?A4;;F_!kr?^OiHuA}6nbA|-k58ggLp@eDo+q{n~>ke;=SHr zlxM!gOb^wyqQ23W1v{8)tR%s;^%N!`fy-paPMs*xzhgL~x;t!kb1VgQ{BMiojFL2{ zRDxW(I(gqq4F9#!O6z-|ovXsZY!ndT_y?^|-J^|i*Gn*WyBza#wme*NmkY}EfuOdj z?!>l|0fgSIKZh6C<)F1}%2>PmJ$U9hQ`;qcqts&Y+UFGPZnAnB>PD=mpny+&_D zRekB0FLYe~w`f@e`~in3(HF|gU_1}MdA{cYn#c+(%7>zrUkR2qm<;}F0>ZGOX7tD> ztSrmW1E$Pc4EQLjlC+KKl9pU4-iC^&M{)}I1c|JHZr!$QDG?D--eZHYcjx(1caR(B zzROY4UbZ0{b<6RuvYX*`1+al=*Z@xc3Gtgi&s3)7zxicsN{D@#T6~Ijd21O~BGN@tB zYicBKdrj5G7q6*#aM&i6IJ=JO;W!*E(P0EVlAXRvXAW*pp+ZyXMk3TBO6%)&5|%z{ z_6~!^3(f#IwhoRBIOkZST)GJgHOhN7fv{2jXcOazE`=2s4aQNyJ~F}qfIb<;ApGYB zX&5Z_lJn?oj5S8pwXCkhQqKUmw*~EZ1WKeTJ!W`|q}%XosHR)~^w*%bU1+5VL7IXg+B^?$@uvCxS^*Wn-Kc(5*2sg$f6q!)P1n<=s zlT;T|+I0q5T(nxi;3dxaQn1Y~(PG4a)qq^Q9o42?KCm4T*e>VGEG-59w1BN89bonL zPzwE^V{m5LLtTPhgkfkq0#wKhAXsGWUSz_bAT&zi?uxC{Mqx^czh|NR>Z`G z=vf8f2FnG%V5p!T+Rscmm)Y23lMhFy`f-^6sk zl()Rep3u~-kuScgQ=a8J$10gV=Ynj>|-3JmU|o7KHRpxjT#e+klmEmTKH~MbGVP(3j;*+N597k zxvs_f4x2+b$M&lQ_po=ds73+&u3DvDeV3iU+tK%sAW>KxU>^~M$Um@|TFo2d1V_Tgl`_4(8S^|5eV^ zmI;4l^NNOLi<2`m?-w)ge_(RO#$-*)#$;`70&}z+&DAa$q4C_1#YeR1k8=uw^<0=6;GZpW_`zmEU(+kE|I>aWz}2O5=m=nq!hHw3wf z`fmur47I;W#XDK){!hQ>QSD3?Ca2_UXJ~$?l}mj0{rPJ10B#{+k$_fC{wiDE*2c1R zin}XJURMD4?*;jY_rCon-q%^ad!_GwobKN(lJ$>iXM}#YNc0k_R0)Lh14P`==3xa`Kf*rBgcr_bSD$%u`OTla$T?@&9hu+0gG+I(5NBVT^ox zzV;FhV5`WT!0ASx(xuAW&X?x-5n82mz8tJ{+B{0<#^YW>FGF~n*D0Olt!TTYbiTIJ58kG9 zz7FQOPU-y3Dw=*&n$npm;pAy}o; z4%|0SDV;krmCiQ?l+GQv*J294!w53)Ymeg>#RLsdw1Q3upg|2S7Z+-ObU!;Hr*G5l O(fnnvd}^Dv>Hh&*;&3nk delta 16929 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 delta 37068 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