From 97067eb5bcf603e709fbf0304c80810a470eb4b4 Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 3 Jul 2005 16:25:26 +0000 Subject: [PATCH] temporary version with better Darwin/Mac OS X support git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1497 c046a42c-6fe2-441c-8c8c-71466251a162 --- pc-bios/ohw.diff | 1685 +++++++++++++++++++++++++++++++++++++++++++ pc-bios/ppc_rom.bin | Bin 524288 -> 524288 bytes 2 files changed, 1685 insertions(+) create mode 100644 pc-bios/ohw.diff diff --git a/pc-bios/ohw.diff b/pc-bios/ohw.diff new file mode 100644 index 00000000000..86fb1c2e178 --- /dev/null +++ b/pc-bios/ohw.diff @@ -0,0 +1,1685 @@ +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/bios.h OpenHackWare-release-0.4/src/bios.h +--- OpenHackWare-release-0.4.org/src/bios.h 2005-04-06 23:20:22.000000000 +0200 ++++ OpenHackWare-release-0.4/src/bios.h 2005-07-03 16:17:41.000000000 +0200 +@@ -64,6 +64,7 @@ + ARCH_CHRP, + ARCH_MAC99, + ARCH_POP, ++ ARCH_HEATHROW, + }; + + /* Hardware definition(s) */ +@@ -183,12 +184,12 @@ + part_t *bd_probe (int boot_device); + bloc_device_t *bd_get (int device); + void bd_put (bloc_device_t *bd); +-void bd_set_boot_part (bloc_device_t *bd, part_t *partition); ++void bd_set_boot_part (bloc_device_t *bd, part_t *partition, int partnum); + part_t **_bd_parts (bloc_device_t *bd); + + void ide_pci_pc_register (uint32_t io_base0, uint32_t io_base1, + uint32_t io_base2, uint32_t io_base3, +- void *OF_private); ++ void *OF_private0, void *OF_private1); + void ide_pci_pmac_register (uint32_t io_base0, uint32_t io_base1, + void *OF_private); + +@@ -399,17 +400,23 @@ + uint16_t min_grant, uint16_t max_latency); + void OF_finalize_pci_host (void *dev, int first_bus, int nb_busses); + void OF_finalize_pci_device (void *dev, uint8_t bus, uint8_t devfn, +- uint32_t *regions, uint32_t *sizes); ++ uint32_t *regions, uint32_t *sizes, ++ int irq_line); + void OF_finalize_pci_macio (void *dev, uint32_t base_address, uint32_t size, + void *private_data); ++void OF_finalize_pci_ide (void *dev, ++ uint32_t io_base0, uint32_t io_base1, ++ uint32_t io_base2, uint32_t io_base3); + int OF_register_bus (const unsigned char *name, uint32_t address, + const unsigned char *type); + int OF_register_serial (const unsigned char *bus, const unsigned char *name, + uint32_t io_base, int irq); + int OF_register_stdio (const unsigned char *dev_in, + const unsigned char *dev_out); +-void OF_vga_register (const unsigned char *name, uint32_t address, +- int width, int height, int depth); ++void OF_vga_register (const unsigned char *name, unused uint32_t address, ++ int width, int height, int depth, ++ unsigned long vga_bios_addr, ++ unsigned long vga_bios_size); + void *OF_blockdev_register (void *parent, void *private, + const unsigned char *type, + const unsigned char *name, int devnum, +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/bloc.c OpenHackWare-release-0.4/src/bloc.c +--- OpenHackWare-release-0.4.org/src/bloc.c 2005-04-06 23:21:00.000000000 +0200 ++++ OpenHackWare-release-0.4/src/bloc.c 2005-07-03 16:17:41.000000000 +0200 +@@ -55,6 +55,7 @@ + /* Partitions */ + part_t *parts, *bparts; + part_t *boot_part; ++ int bpartnum; + /* Chain */ + bloc_device_t *next; + }; +@@ -223,10 +224,12 @@ + } + + /* XXX: to be suppressed */ +-void bd_set_boot_part (bloc_device_t *bd, part_t *partition) ++void bd_set_boot_part (bloc_device_t *bd, part_t *partition, int partnum) + { ++ dprintf("%s: part %p (%p) %d\n", __func__, partition, bd->boot_part, partnum); + if (bd->boot_part == NULL) { + bd->boot_part = partition; ++ bd->bpartnum = partnum; + } + } + +@@ -240,6 +243,13 @@ + return &bd->bparts; + } + ++void bd_set_boot_device (bloc_device_t *bd) ++{ ++#if defined (USE_OPENFIRMWARE) ++ OF_blockdev_set_boot_device(bd->OF_private, bd->bpartnum, "\\\\ofwboot"); ++#endif ++} ++ + part_t *bd_probe (int boot_device) + { + char devices[] = { /*'a', 'b',*/ 'c', 'd', 'e', 'f', 'm', '\0', }; +@@ -272,9 +282,7 @@ + tmp = part_probe(bd, force_raw); + if (boot_device == bd->device) { + boot_part = tmp; +-#if defined (USE_OPENFIRMWARE) +- OF_blockdev_set_boot_device(bd->OF_private, 2, "\\\\ofwboot"); +-#endif ++ bd_set_boot_device(bd); + } + } + +@@ -717,34 +725,29 @@ + /* IDE PCI access for pc */ + static uint8_t ide_pci_port_read (bloc_device_t *bd, int port) + { +- eieio(); +- +- return *(uint8_t *)(bd->io_base + port); ++ uint8_t value; ++ value = inb(bd->io_base + port); ++ return value; + } + + static void ide_pci_port_write (bloc_device_t *bd, int port, uint8_t value) + { +- *(uint8_t *)(bd->io_base + port) = value; +- eieio(); ++ outb(bd->io_base + port, value); + } + + static uint32_t ide_pci_data_readl (bloc_device_t *bd) + { +- eieio(); +- +- return *((uint32_t *)bd->io_base); ++ return inl(bd->io_base); + } + + static void ide_pci_data_writel (bloc_device_t *bd, uint32_t val) + { +- *(uint32_t *)(bd->io_base) = val; +- eieio(); ++ outl(bd->io_base, val); + } + + static void ide_pci_control_write (bloc_device_t *bd, uint32_t val) + { +- *((uint8_t *)bd->tmp) = val; +- eieio(); ++ outb(bd->tmp + 2, val); + } + + static ide_ops_t ide_pci_pc_ops = { +@@ -761,7 +764,7 @@ + + void ide_pci_pc_register (uint32_t io_base0, uint32_t io_base1, + uint32_t io_base2, uint32_t io_base3, +- unused void *OF_private) ++ void *OF_private0, void *OF_private1) + { + if (ide_pci_ops == NULL) { + ide_pci_ops = malloc(sizeof(ide_ops_t)); +@@ -770,19 +773,19 @@ + memcpy(ide_pci_ops, &ide_pci_pc_ops, sizeof(ide_ops_t)); + } + if ((io_base0 != 0 || io_base1 != 0) && +- ide_pci_ops->base[0] == 0 && ide_pci_ops->base[1] == 0) { ++ ide_pci_ops->base[0] == 0 && ide_pci_ops->base[2] == 0) { + ide_pci_ops->base[0] = io_base0; +- ide_pci_ops->base[1] = io_base1; ++ ide_pci_ops->base[2] = io_base1; + #ifdef USE_OPENFIRMWARE +- ide_pci_ops->OF_private[0] = OF_private; ++ ide_pci_ops->OF_private[0] = OF_private0; + #endif + } + if ((io_base2 != 0 || io_base3 != 0) && +- ide_pci_ops->base[2] == 0 && ide_pci_ops->base[3] == 0) { +- ide_pci_ops->base[2] = io_base2; ++ ide_pci_ops->base[1] == 0 && ide_pci_ops->base[3] == 0) { ++ ide_pci_ops->base[1] = io_base2; + ide_pci_ops->base[3] = io_base3; + #ifdef USE_OPENFIRMWARE +- ide_pci_ops->OF_private[1] = OF_private; ++ ide_pci_ops->OF_private[1] = OF_private1; + #endif + } + } +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/libpart/apple.c OpenHackWare-release-0.4/src/libpart/apple.c +--- OpenHackWare-release-0.4.org/src/libpart/apple.c 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/libpart/apple.c 2005-07-03 16:17:41.000000000 +0200 +@@ -199,14 +199,18 @@ + if (len == 0) { + /* Place holder. Skip it */ + DPRINTF("%s placeholder part\t%d\n", __func__, i); ++ part->flags = PART_TYPE_APPLE | PART_FLAG_DUMMY; ++ part_register(bd, part, name, i); + } else if (strncmp("Apple_Void", type, 32) == 0) { + /* Void partition. Skip it */ + DPRINTF("%s Void part\t%d [%s]\n", __func__, i, type); ++ part->flags = PART_TYPE_APPLE | PART_FLAG_DUMMY; ++ part_register(bd, part, name, i); + } else if (strncmp("Apple_Free", type, 32) == 0) { + /* Free space. Skip it */ + DPRINTF("%s Free part (%d)\n", __func__, i); + part->flags = PART_TYPE_APPLE | PART_FLAG_DUMMY; +- part_register(bd, part, name); ++ part_register(bd, part, name, i); + } else if (strncmp("Apple_partition_map", type, 32) == 0 || + strncmp("Apple_Partition_Map", type, 32) == 0 + #if 0 // Is this really used or is it just a mistake ? +@@ -226,7 +230,7 @@ + */ + } + part->flags = PART_TYPE_APPLE | PART_FLAG_DUMMY; +- part_register(bd, part, name); ++ part_register(bd, part, name, i); + } else if (strncmp("Apple_Driver", type, 32) == 0 || + strncmp("Apple_Driver43", type, 32) == 0 || + strncmp("Apple_Driver43_CD", type, 32) == 0 || +@@ -236,8 +240,12 @@ + strncmp("Apple_Driver_IOKit", type, 32) == 0) { + /* Drivers. don't care for now */ + DPRINTF("%s Drivers part\t%d [%s]\n", __func__, i, type); ++ part->flags = PART_TYPE_APPLE | PART_FLAG_DRIVER; ++ part_register(bd, part, name, i); + } else if (strncmp("Apple_Patches", type, 32) == 0) { + /* Patches: don't care for now */ ++ part->flags = PART_TYPE_APPLE | PART_FLAG_PATCH; ++ part_register(bd, part, name, i); + DPRINTF("%s Patches part\t%d [%s]\n", __func__, i, type); + } else if (strncmp("Apple_HFS", type, 32) == 0 || + strncmp("Apple_MFS", type, 32) == 0 || +@@ -256,9 +264,8 @@ + count = partmap->bloc_cnt * HFS_BLOCSIZE; + if (partmap->boot_size == 0 || partmap->boot_load == 0) { + printf("Not a bootable partition %d %d (%p %p)\n", +- partmap->boot_size, partmap->boot_load,boot_part, part); +- if (boot_part == NULL) +- boot_part = part; ++ partmap->boot_size, partmap->boot_load, ++ boot_part, part); + part->flags = PART_TYPE_APPLE | PART_FLAG_FS; + } else { + part->boot_start.bloc = partmap->boot_start; +@@ -278,8 +285,8 @@ + boot_part = part; + part->flags = PART_TYPE_APPLE | PART_FLAG_FS | PART_FLAG_BOOT; + } +- printf("Partition: %d %s st %0x size %0x", +- i, name, partmap->start_bloc, partmap->bloc_cnt); ++ printf("Partition: %d '%s' '%s' st %0x size %0x", ++ i, name, type, partmap->start_bloc, partmap->bloc_cnt); + #ifndef DEBUG + printf("\n"); + #endif +@@ -290,11 +297,13 @@ + part->boot_load, part->boot_entry); + DPRINTF(" load %0x entry %0x %0x\n", + partmap->boot_load2, partmap->boot_entry2, HFS_BLOCSIZE); +- part_register(bd, part, name); ++ part_register(bd, part, name, i); + } else { + memcpy(tmp, type, 32); + tmp[32] = '\0'; + ERROR("Unknown partition type [%s]\n", tmp); ++ part->flags = PART_TYPE_APPLE | PART_FLAG_DUMMY; ++ part_register(bd, part, name, i); + } + } + error: +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/libpart/core.c OpenHackWare-release-0.4/src/libpart/core.c +--- OpenHackWare-release-0.4.org/src/libpart/core.c 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/libpart/core.c 2005-07-03 16:17:41.000000000 +0200 +@@ -126,7 +126,7 @@ + } + + int part_register (bloc_device_t *bd, part_t *partition, +- const unsigned char *name) ++ const unsigned char *name, int partnum) + { + part_t **cur; + +@@ -134,6 +134,7 @@ + partition->bd = bd; + partition->next = NULL; + partition->name = strdup(name); ++ partition->partnum = partnum; + for (cur = _bd_parts(bd); *cur != NULL; cur = &(*cur)->next) + continue; + *cur = partition; +@@ -141,29 +142,15 @@ + return 0; + } + +-static inline int set_boot_part (bloc_device_t *bd, int partnum) +-{ +- part_t *cur; +- +- cur = part_get(bd, partnum); +- if (cur == NULL) +- return -1; +- bd_set_boot_part(bd, cur); +- +- return 0; +-} +- + part_t *part_get (bloc_device_t *bd, int partnum) + { + part_t **listp, *cur; +- int i; + + listp = _bd_parts(bd); +- cur = *listp; +- for (i = 0; i != partnum; i++) { +- if (cur == NULL) ++ ++ for (cur = *listp; cur != NULL; cur = cur->next) { ++ if (cur->partnum == partnum) + break; +- cur = cur->next; + } + + return cur; +@@ -192,17 +179,20 @@ + part_set_blocsize(bd, part, 512); + part->bd = bd; + part->flags = PART_TYPE_RAW | PART_FLAG_BOOT; +- part_register(bd, part, "Raw"); ++ part_register(bd, part, "Raw", 0); + + return part; + } + ++bloc_device_t *part_get_bd (part_t *part) ++{ ++ return part->bd; ++} ++ + part_t *part_probe (bloc_device_t *bd, int set_raw) + { +- part_t *part0, *boot_part, **cur; ++ part_t *part0 = NULL, *boot_part, **cur; + +- /* Register the 0 partition: raw partition containing the whole disk */ +- part0 = part_get_raw(bd); + /* Try to find a valid boot partition */ + boot_part = Apple_probe_partitions(bd); + if (boot_part == NULL) { +@@ -210,10 +200,13 @@ + if (boot_part == NULL && arch == ARCH_PREP) + boot_part = PREP_find_partition(bd); + if (boot_part == NULL && set_raw != 0) { +- boot_part = part0; +- set_boot_part(bd, 0); ++ dprintf("Use bloc device as raw partition\n"); + } + } ++ if (_bd_parts(bd) == NULL) { ++ /* Register the 0 partition: raw partition containing the whole disk */ ++ part0 = part_get_raw(bd); ++ } + /* Probe filesystem on each found partition */ + for (cur = _bd_parts(bd); *cur != NULL; cur = &(*cur)->next) { + const unsigned char *map, *type; +@@ -248,23 +241,28 @@ + type = "unknown"; + break; + } +- DPRINTF("Probe filesystem on %s %s partition '%s' %s\n", ++ dprintf("Probe filesystem on %s %s partition '%s' %s %p\n", + type, map, (*cur)->name, +- ((*cur)->flags) & PART_FLAG_BOOT ? "(bootable)" : ""); ++ ((*cur)->flags) & PART_FLAG_BOOT ? "(bootable)" : "", *cur); + if (((*cur)->flags) & PART_FLAG_FS) { + if (((*cur)->flags) & PART_FLAG_BOOT) + (*cur)->fs = fs_probe(*cur, 1); + else + (*cur)->fs = fs_probe(*cur, 0); ++ } else if (((*cur)->flags) & PART_TYPE_RAW) { ++ (*cur)->fs = fs_probe(*cur, 2); + } else { + (*cur)->fs = fs_probe(*cur, 2); + } +- if (((*cur)->flags) & PART_FLAG_BOOT) { +- bd_set_boot_part(bd, *cur); + fs_get_bootfile((*cur)->fs); ++ if (((*cur)->flags) & PART_FLAG_BOOT) { ++ dprintf("Partition is bootable (%d)\n", (*cur)->partnum); ++ bd_set_boot_part(bd, *cur, (*cur)->partnum); ++ if (boot_part == NULL) ++ boot_part = *cur; + } + } +- DPRINTF("Boot partition: %p %p %p %p\n", boot_part, boot_part->fs, ++ dprintf("Boot partition: %p %p %p %p\n", boot_part, boot_part->fs, + part_fs(boot_part), part0); + + return boot_part; +@@ -279,6 +277,7 @@ + part->boot_size.offset = 0; + part->boot_load = 0; + part->boot_entry = 0; ++ part->flags |= PART_FLAG_BOOT; + + return 0; + } +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/libpart/isofs.c OpenHackWare-release-0.4/src/libpart/isofs.c +--- OpenHackWare-release-0.4.org/src/libpart/isofs.c 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/libpart/isofs.c 2005-07-03 16:17:41.000000000 +0200 +@@ -242,7 +242,7 @@ + part->boot_start.bloc, part->boot_size.bloc, + part->boot_load, part->boot_entry); + part->flags = PART_TYPE_ISO9660 | PART_FLAG_BOOT; +- part_register(bd, part, name); ++ part_register(bd, part, name, i + 1); + fs_raw_set_bootfile(part, part->boot_start.bloc, + part->boot_start.offset, + part->boot_size.bloc, +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/libpart/libpart.h OpenHackWare-release-0.4/src/libpart/libpart.h +--- OpenHackWare-release-0.4.org/src/libpart/libpart.h 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/libpart/libpart.h 2005-07-03 16:17:41.000000000 +0200 +@@ -30,6 +30,7 @@ + + struct part_t { + bloc_device_t *bd; ++ int partnum; + uint32_t start; /* Partition first bloc */ + uint32_t size; /* Partition size, in blocs */ + uint32_t spb; +@@ -54,7 +55,7 @@ + }; + + int part_register (bloc_device_t *bd, part_t *partition, +- const unsigned char *name); ++ const unsigned char *name, int partnum); + void part_set_blocsize (bloc_device_t *bd, part_t *part, uint32_t blocsize); + void part_private_set (part_t *part, void *private); + void *part_private_get (part_t *part); +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/libpart/prep.c OpenHackWare-release-0.4/src/libpart/prep.c +--- OpenHackWare-release-0.4.org/src/libpart/prep.c 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/libpart/prep.c 2005-07-03 16:17:41.000000000 +0200 +@@ -164,7 +164,7 @@ + part->boot_load = 0; + part->boot_entry = boot_offset - part->bloc_size; + part->flags = PART_TYPE_PREP | PART_FLAG_BOOT; +- part_register(bd, part, "PREP boot"); ++ part_register(bd, part, "PREP boot", i); + fs_raw_set_bootfile(part, part->boot_start.bloc, + part->boot_start.offset, + part->boot_size.bloc, +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/main.c OpenHackWare-release-0.4/src/main.c +--- OpenHackWare-release-0.4.org/src/main.c 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/main.c 2005-06-07 23:48:39.000000000 +0200 +@@ -364,20 +364,24 @@ + void *load_base, *load_entry, *last_alloc, *load_end; + uint32_t memsize, boot_image_size, cmdline_size, ramdisk_size; + uint32_t boot_base, boot_nb; +- int boot_device; ++ int boot_device, i; ++ static const uint32_t isa_base_tab[3] = { ++ 0x80000000, /* PREP */ ++ 0xFE000000, /* Grackle (Heathrow) */ ++ 0xF2000000, /* UniNorth (Mac99) */ ++ }; + + /* Retrieve NVRAM configuration */ +- nvram_retry: ++ for(i = 0; i < 3; i++) { ++ isa_io_base = isa_base_tab[i]; + nvram = NVRAM_get_config(&memsize, &boot_device, + &boot_image, &boot_image_size, + &cmdline, &cmdline_size, + &ramdisk, &ramdisk_size); +- if (nvram == NULL) { +- /* Retry with another isa_io_base */ +- if (isa_io_base == 0x80000000) { +- isa_io_base = 0xF2000000; +- goto nvram_retry; ++ if (nvram) ++ break; + } ++ if (i == 3) { + ERROR("Unable to load configuration from NVRAM. Aborting...\n"); + return -1; + } +@@ -402,7 +406,7 @@ + cpu_name = CPU_get_name(pvr); + OF_register_cpu(cpu_name, 0, pvr, + 200 * 1000 * 1000, 200 * 1000 * 1000, +- 100 * 1000 * 1000, 10 * 1000 * 1000, ++ 100 * 1000 * 1000, 100 * 1000 * 1000, + 0x0092); + } + OF_register_memory(memsize, 512 * 1024 /* TOFIX */); +@@ -433,9 +437,12 @@ + vga_puts(copyright); + vga_puts("\n"); + ++#if 0 + /* QEMU is quite incoherent: d is cdrom, not second drive */ ++ /* XXX: should probe CD-ROM position */ + if (boot_device == 'd') + boot_device = 'e'; ++#endif + /* Open boot device */ + boot_part = bd_probe(boot_device); + if (boot_device == 'm') { +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/nvram.c OpenHackWare-release-0.4/src/nvram.c +--- OpenHackWare-release-0.4.org/src/nvram.c 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/nvram.c 2005-06-04 23:44:03.000000000 +0200 +@@ -334,6 +334,7 @@ + ret = NVRAM_chrp_format(nvram); + break; + case ARCH_MAC99: ++ case ARCH_HEATHROW: /* XXX: may be incorrect */ + ret = NVRAM_mac99_format(nvram); + break; + case ARCH_POP: +@@ -409,13 +410,12 @@ + arch = ARCH_MAC99; + } else if (strcmp(sign, "POP") == 0) { + arch = ARCH_POP; ++ } else if (strcmp(sign, "HEATHROW") == 0) { ++ arch = ARCH_HEATHROW; + } else { + ERROR("Unknown PPC architecture: '%s'\n", sign); + return NULL; + } +- /* HACK */ +- if (arch == ARCH_CHRP) +- arch = ARCH_MAC99; + lword = NVRAM_get_lword(nvram, 0x30); + *RAM_size = lword; + byte = NVRAM_get_byte(nvram, 0x34); +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/of.c OpenHackWare-release-0.4/src/of.c +--- OpenHackWare-release-0.4.org/src/of.c 2005-04-06 23:17:26.000000000 +0200 ++++ OpenHackWare-release-0.4/src/of.c 2005-07-03 17:46:25.000000000 +0200 +@@ -489,7 +489,7 @@ + ERROR("%s can't alloc new node '%s' name\n", __func__, name); + return NULL; + } +- new->prop_address = OF_prop_int_new(env, new, "address", address); ++ new->prop_address = OF_prop_int_new(env, new, "unit-address", address); + if (new->prop_address == NULL) { + free(new->prop_name->value); + free(new->prop_name); +@@ -1421,15 +1421,12 @@ + __attribute__ (( section (".OpenFirmware") )) + int OF_init (void) + { +- const unsigned char compat_str[] = + #if 0 + "PowerMac3,1\0MacRISC\0Power Macintosh\0"; + "PowerMac1,2\0MacRISC\0Power Macintosh\0"; + "AAPL,PowerMac G3\0PowerMac G3\0MacRISC\0Power Macintosh\0"; + "AAPL,PowerMac3,0\0MacRISC\0Power Macintosh\0"; + "AAPL,Gossamer\0MacRISC\0Power Macintosh\0"; +-#else +- "AAPL,PowerMac G3\0PowerMac G3\0MacRISC\0Power Macintosh\0"; + #endif + OF_env_t *OF_env; + OF_node_t *als, *opt, *chs, *pks; +@@ -1455,15 +1452,21 @@ + return -1; + } + OF_prop_string_new(OF_env, OF_node_root, "device_type", "bootrom"); +-#if 0 +- OF_prop_string_new(OF_env, OF_node_root, +- "model", "PPC Open Hack'Ware " BIOS_VERSION); +-#else ++ if (arch == ARCH_HEATHROW) { ++ const unsigned char compat_str[] = ++ "PowerMac1,1\0MacRISC\0Power Macintosh"; ++ OF_property_new(OF_env, OF_node_root, "compatible", ++ compat_str, sizeof(compat_str)); + OF_prop_string_new(OF_env, OF_node_root, +- "model", compat_str); +-#endif ++ "model", "Power Macintosh"); ++ } else { ++ const unsigned char compat_str[] = ++ "PowerMac3,1\0MacRISC\0Power Macintosh"; + OF_property_new(OF_env, OF_node_root, "compatible", + compat_str, sizeof(compat_str)); ++ OF_prop_string_new(OF_env, OF_node_root, ++ "model", "PowerMac3,1"); ++ } + #if 0 + OF_prop_string_new(OF_env, OF_node_root, "copyright", copyright); + #else +@@ -1561,14 +1564,15 @@ + range.size = 0x00800000; + OF_property_new(OF_env, rom, "ranges", &range, sizeof(OF_range_t)); + OF_prop_int_new(OF_env, rom, "#address-cells", 1); ++ + /* "/rom/boot-rom@fff00000" node */ +- brom = OF_node_new(OF_env, OF_node_root, "boot-rom", 0xfff00000); ++ brom = OF_node_new(OF_env, rom, "boot-rom", 0xfff00000); + if (brom == NULL) { + ERROR("Cannot create 'boot-rom'\n"); + return -1; + } + regs.address = 0xFFF00000; +- regs.size = 0x00010000; ++ regs.size = 0x00100000; + OF_property_new(OF_env, brom, "reg", ®s, sizeof(OF_regprop_t)); + OF_prop_string_new(OF_env, brom, "write-characteristic", "flash"); + OF_prop_string_new(OF_env, brom, "BootROM-build-date", +@@ -1577,7 +1581,7 @@ + OF_prop_string_new(OF_env, brom, "copyright", copyright); + OF_prop_string_new(OF_env, brom, "model", BIOS_str); + OF_prop_int_new(OF_env, brom, "result", 0); +-#if 0 ++#if 1 + { + /* Hack taken 'as-is' from PearPC */ + unsigned char info[] = { +@@ -1596,7 +1600,9 @@ + OF_node_put(OF_env, brom); + OF_node_put(OF_env, rom); + } ++#if 0 + /* From here, hardcoded hacks to get a Mac-like machine */ ++ /* XXX: Core99 does not seem to like this NVRAM tree */ + /* "/nvram@fff04000" node */ + { + OF_regprop_t regs; +@@ -1617,6 +1623,7 @@ + OF_prop_int_new(OF_env, chs, "nvram", OF_pack_handle(OF_env, nvr)); + OF_node_put(OF_env, nvr); + } ++#endif + /* "/pseudo-hid" : hid emulation as Apple does */ + { + OF_node_t *hid; +@@ -1663,7 +1670,27 @@ + } + OF_node_put(OF_env, hid); + } ++ if (arch == ARCH_MAC99) { ++ OF_node_t *unin; ++ OF_regprop_t regs; + ++ unin = OF_node_new(OF_env, OF_node_root, ++ "uni-n", 0xf8000000); ++ if (unin == NULL) { ++ ERROR("Cannot create 'uni-n'\n"); ++ return -1; ++ } ++ OF_prop_string_new(OF_env, unin, "device-type", "memory-controller"); ++ OF_prop_string_new(OF_env, unin, "model", "AAPL,UniNorth"); ++ OF_prop_string_new(OF_env, unin, "compatible", "uni-north"); ++ regs.address = 0xf8000000; ++ regs.size = 0x01000000; ++ OF_property_new(OF_env, unin, "reg", ®s, sizeof(regs)); ++ OF_prop_int_new(OF_env, unin, "#address-cells", 1); ++ OF_prop_int_new(OF_env, unin, "#size-cells", 1); ++ OF_prop_int_new(OF_env, unin, "device-rev", 3); ++ OF_node_put(OF_env, unin); ++ } + + #if 1 /* This is mandatory for claim to work + * but I don't know where it should really be (in cpu ?) +@@ -1693,7 +1720,9 @@ + + /* "/options/boot-args" node */ + { +- const unsigned char *args = "-v rootdev cdrom"; ++ // const unsigned char *args = "-v rootdev cdrom"; ++ //const unsigned char *args = "-v io=0xffffffff"; ++ const unsigned char *args = "-v"; + /* Ask MacOS X to print debug messages */ + // OF_prop_string_new(OF_env, chs, "machargs", args); + // OF_prop_string_new(OF_env, opt, "boot-command", args); +@@ -2021,9 +2050,9 @@ + if (dev->acells != 0) + OF_prop_int_new(OF_env, node, "#address-cells", dev->acells); + if (dev->scells != 0) +- OF_prop_int_new(OF_env, node, "#interrupt-cells", dev->acells); ++ OF_prop_int_new(OF_env, node, "#size-cells", dev->scells); + if (dev->icells != 0) +- OF_prop_int_new(OF_env, node, "#size-cells", dev->acells); ++ OF_prop_int_new(OF_env, node, "#interrupt-cells", dev->icells); + dprintf("Done %p %p\n", parent, node); + + return node; +@@ -2040,8 +2069,9 @@ + OF_env_t *OF_env; + pci_range_t ranges[3]; + OF_regprop_t regs[1]; +- OF_node_t *pci_host; ++ OF_node_t *pci_host, *als; + int nranges; ++ unsigned char buffer[OF_NAMELEN_MAX]; + + OF_env = OF_env_main; + dprintf("register PCI host '%s' '%s' '%s' '%s'\n", +@@ -2052,6 +2082,17 @@ + ERROR("Cannot create pci host\n"); + return NULL; + } ++ ++ als = OF_node_get(OF_env, "aliases"); ++ if (als == NULL) { ++ ERROR("Cannot get 'aliases'\n"); ++ return NULL; ++ } ++ sprintf(buffer, "/%s", dev->name); ++ OF_prop_string_set(OF_env, als, "pci", buffer); ++ OF_node_put(OF_env, als); ++ ++ + regs[0].address = cfg_base; + regs[0].size = cfg_len; + OF_property_new(OF_env, pci_host, "reg", regs, sizeof(OF_regprop_t)); +@@ -2136,6 +2177,11 @@ + return pci_dev; + } + ++/* XXX: suppress that, used for interrupt map init */ ++OF_node_t *pci_host_node; ++uint32_t pci_host_interrupt_map[7 * 32]; ++int pci_host_interrupt_map_len = 0; ++ + void OF_finalize_pci_host (void *dev, int first_bus, int nb_busses) + { + OF_env_t *OF_env; +@@ -2145,10 +2191,12 @@ + regs[0].address = first_bus; + regs[0].size = nb_busses; + OF_property_new(OF_env, dev, "bus-range", regs, sizeof(OF_regprop_t)); ++ pci_host_node = dev; + } + + void OF_finalize_pci_device (void *dev, uint8_t bus, uint8_t devfn, +- uint32_t *regions, uint32_t *sizes) ++ uint32_t *regions, uint32_t *sizes, ++ int irq_line) + { + OF_env_t *OF_env; + pci_reg_prop_t pregs[6], rregs[6]; +@@ -2156,6 +2204,7 @@ + int i, j, k; + + OF_env = OF_env_main; ++ /* XXX: only useful for VGA card in fact */ + if (regions[0] != 0x00000000) + OF_prop_int_set(OF_env, dev, "address", regions[0] & ~0x0000000F); + for (i = 0, j = 0, k = 0; i < 6; i++) { +@@ -2222,7 +2271,22 @@ + } else { + OF_property_new(OF_env, dev, "assigned-addresses", NULL, 0); + } +-#if 0 ++ if (irq_line >= 0) { ++ int i; ++ OF_prop_int_new(OF_env, dev, "interrupts", 1); ++ i = pci_host_interrupt_map_len; ++ pci_host_interrupt_map[i++] = (devfn << 8) & 0xf800; ++ pci_host_interrupt_map[i++] = 0; ++ pci_host_interrupt_map[i++] = 0; ++ pci_host_interrupt_map[i++] = 0; ++ pci_host_interrupt_map[i++] = 0; /* pic handle will be patched later */ ++ pci_host_interrupt_map[i++] = irq_line; ++ if (arch != ARCH_HEATHROW) { ++ pci_host_interrupt_map[i++] = 1; ++ } ++ pci_host_interrupt_map_len = i; ++ } ++#if 1 + { + OF_prop_t *prop_name = ((OF_node_t *)dev)->prop_name; + +@@ -2390,6 +2454,54 @@ + return 0; + } + ++static void keylargo_ata(OF_node_t *mio, uint32_t base_address, ++ uint32_t base, int irq1, int irq2, ++ uint16_t pic_phandle) ++{ ++ OF_env_t *OF_env = OF_env_main; ++ OF_node_t *ata; ++ OF_regprop_t regs[2]; ++ ++ ata = OF_node_new(OF_env, mio, "ata-4", base); ++ if (ata == NULL) { ++ ERROR("Cannot create 'ata-4'\n"); ++ return; ++ } ++ OF_prop_string_new(OF_env, ata, "device_type", "ata"); ++#if 1 ++ OF_prop_string_new(OF_env, ata, "compatible", "key2largo-ata"); ++ OF_prop_string_new(OF_env, ata, "model", "ata-4"); ++ OF_prop_string_new(OF_env, ata, "cable-type", "80-conductor"); ++#else ++ OF_prop_string_new(OF_env, ata, "compatible", "cmd646-ata"); ++ OF_prop_string_new(OF_env, ata, "model", "ata-4"); ++#endif ++ OF_prop_int_new(OF_env, ata, "#address-cells", 1); ++ OF_prop_int_new(OF_env, ata, "#size-cells", 0); ++ regs[0].address = base; ++ regs[0].size = 0x00001000; ++#if 0 // HACK: Don't set up DMA registers ++ regs[1].address = 0x00008A00; ++ regs[1].size = 0x00001000; ++ OF_property_new(OF_env, ata, "reg", ++ regs, 2 * sizeof(OF_regprop_t)); ++#else ++ OF_property_new(OF_env, ata, "reg", ++ regs, sizeof(OF_regprop_t)); ++#endif ++ OF_prop_int_new(OF_env, ata, "interrupt-parent", pic_phandle); ++ regs[0].address = irq1; ++ regs[0].size = 0x00000001; ++ regs[1].address = irq2; ++ regs[1].size = 0x00000000; ++ OF_property_new(OF_env, ata, "interrupts", ++ regs, 2 * sizeof(OF_regprop_t)); ++ if (base == 0x1f000) ++ ide_pci_pmac_register(base_address + base, 0x00000000, ata); ++ else ++ ide_pci_pmac_register(0x00000000, base_address + base, ata); ++} ++ + void OF_finalize_pci_macio (void *dev, uint32_t base_address, uint32_t size, + void *private_data) + { +@@ -2398,6 +2510,8 @@ + pci_reg_prop_t pregs[2]; + OF_node_t *mio, *chs, *als; + uint16_t pic_phandle; ++ int rec_len; ++ OF_prop_t *mio_reg; + + OF_DPRINTF("mac-io: %p\n", dev); + OF_env = OF_env_main; +@@ -2416,10 +2530,14 @@ + mio = dev; + mio->private_data = private_data; + pregs[0].addr.hi = 0x00000000; +- pregs[0].addr.mid = 0x82013810; ++ pregs[0].addr.mid = 0x00000000; + pregs[0].addr.lo = 0x00000000; + pregs[0].size_hi = base_address; + pregs[0].size_lo = size; ++ mio_reg = OF_property_get(OF_env, mio, "reg"); ++ if (mio_reg && mio_reg->vlen >= 5 * 4) { ++ pregs[0].addr.mid = ((pci_reg_prop_t *)mio_reg->value)->addr.hi; ++ } + OF_property_new(OF_env, mio, "ranges", + &pregs, sizeof(pci_reg_prop_t)); + #if 0 +@@ -2431,8 +2549,49 @@ + OF_property_new(OF_env, mio, "assigned-addresses", + &pregs, sizeof(pci_reg_prop_t)); + #endif +- /* OpenPIC */ ++ ++ switch(arch) { ++ default: ++ case ARCH_MAC99: ++ OF_prop_int_new(OF_env, mio, "#interrupt-cells", 2); ++ OF_prop_string_new(OF_env, mio, "model", "AAPL,Keylargo"); ++ OF_prop_string_new(OF_env, mio, "compatible", "Keylargo"); ++ break; ++ case ARCH_HEATHROW: ++ OF_prop_int_new(OF_env, mio, "#interrupt-cells", 1); ++ OF_prop_string_new(OF_env, mio, "model", "AAPL,343S1211"); + { ++ const char str[] = "paddington\0heathrow"; ++ OF_property_new(OF_env, mio, "compatible", str, sizeof(str)); ++ } ++ break; ++ } ++ ++ if (arch == ARCH_HEATHROW) { ++ /* Heathrow PIC */ ++ OF_regprop_t regs; ++ OF_node_t *mpic; ++ const char compat_str[] = "heathrow\0mac-risc"; ++ ++ mpic = OF_node_new(OF_env, mio, "interrupt-controller", 0x10); ++ if (mpic == NULL) { ++ ERROR("Cannot create 'mpic'\n"); ++ goto out; ++ } ++ OF_prop_string_new(OF_env, mpic, "device_type", "interrupt-controller"); ++ OF_property_new(OF_env, mpic, "compatible", compat_str, sizeof(compat_str)); ++ OF_prop_int_new(OF_env, mpic, "#interrupt-cells", 1); ++ regs.address = 0x10; ++ regs.size = 0x20; ++ OF_property_new(OF_env, mpic, "reg", ++ ®s, sizeof(regs)); ++ OF_property_new(OF_env, mpic, "interrupt-controller", NULL, 0); ++ pic_phandle = OF_pack_handle(OF_env, mpic); ++ OF_prop_int_new(OF_env, chs, "interrupt-controller", pic_phandle); ++ OF_node_put(OF_env, mpic); ++ rec_len = 6; ++ } else { ++ /* OpenPIC */ + OF_regprop_t regs[4]; + OF_node_t *mpic; + mpic = OF_node_new(OF_env, mio, "interrupt-controller", 0x40000); +@@ -2455,8 +2614,37 @@ + pic_phandle = OF_pack_handle(OF_env, mpic); + OF_prop_int_new(OF_env, chs, "interrupt-controller", pic_phandle); + OF_node_put(OF_env, mpic); ++ rec_len = 7; + } +-#if 1 ++ ++ /* patch pci host table */ ++ /* XXX: do it after the PCI init */ ++ { ++ int i; ++ uint32_t tab[4]; ++ ++ for(i = 0; i < pci_host_interrupt_map_len; i += rec_len) ++ pci_host_interrupt_map[i + 4] = pic_phandle; ++#if 0 ++ dprintf("interrupt-map:\n"); ++ for(i = 0; i < pci_host_interrupt_map_len; i++) { ++ dprintf(" %08x", pci_host_interrupt_map[i]); ++ if ((i % rec_len) == (rec_len - 1)) ++ dprintf("\n"); ++ } ++ dprintf("\n"); ++#endif ++ OF_property_new(OF_env, pci_host_node, "interrupt-map", ++ pci_host_interrupt_map, ++ pci_host_interrupt_map_len * sizeof(uint32_t)); ++ tab[0] = 0xf800; ++ tab[1] = 0; ++ tab[2] = 0; ++ tab[3] = 0; ++ OF_property_new(OF_env, pci_host_node, "interrupt-map-mask", ++ tab, 4 * sizeof(uint32_t)); ++ } ++#if 0 + /* escc is usefull to get MacOS X debug messages */ + { + OF_regprop_t regs[8]; +@@ -2645,85 +2833,12 @@ + OF_node_put(OF_env, scc); + } + #endif +- /* IDE controller */ +- { +- OF_node_t *ata; +- OF_regprop_t regs[2]; +- ata = OF_node_new(OF_env, mio, "ata-4", 0x1f000); +- if (ata == NULL) { +- ERROR("Cannot create 'ata-4'\n"); +- goto out; +- } +- OF_prop_string_new(OF_env, ata, "device_type", "ata"); +-#if 1 +- OF_prop_string_new(OF_env, ata, "compatible", "keylargo-ata"); +- OF_prop_string_new(OF_env, ata, "model", "ata-4"); +-#else +- OF_prop_string_new(OF_env, ata, "compatible", "cmd646-ata"); +- OF_prop_string_new(OF_env, ata, "model", "ata-4"); +-#endif +- OF_prop_int_new(OF_env, ata, "#address-cells", 1); +- OF_prop_int_new(OF_env, ata, "#size-cells", 0); +- regs[0].address = 0x0001F000; +- regs[0].size = 0x00001000; +-#if 0 // HACK: Don't set up DMA registers +- regs[1].address = 0x00008A00; +- regs[1].size = 0x00001000; +- OF_property_new(OF_env, ata, "reg", +- regs, 2 * sizeof(OF_regprop_t)); +-#else +- OF_property_new(OF_env, ata, "reg", +- regs, sizeof(OF_regprop_t)); +-#endif +- OF_prop_int_new(OF_env, ata, "interrupt-parent", pic_phandle); +- regs[0].address = 0x00000013; +- regs[0].size = 0x00000001; +- regs[1].address = 0x0000000B; +- regs[1].size = 0x00000000; +- OF_property_new(OF_env, ata, "interrupts", +- regs, 2 * sizeof(OF_regprop_t)); +- ide_pci_pmac_register(base_address + 0x1f000, 0x00000000, ata); +- +- } +- { +- OF_node_t *ata; +- OF_regprop_t regs[2]; +- ata = OF_node_new(OF_env, mio, "ata-4", 0x20000); +- if (ata == NULL) { +- ERROR("Cannot create 'ata-4'\n"); +- goto out; +- } +- OF_prop_string_new(OF_env, ata, "device_type", "ata"); +-#if 1 +- OF_prop_string_new(OF_env, ata, "compatible", "keylargo-ata"); +- OF_prop_string_new(OF_env, ata, "model", "ata-4"); +-#else +- OF_prop_string_new(OF_env, ata, "compatible", "cmd646-ata"); +- OF_prop_string_new(OF_env, ata, "model", "ata-4"); +-#endif +- OF_prop_int_new(OF_env, ata, "#address-cells", 1); +- OF_prop_int_new(OF_env, ata, "#size-cells", 0); +- regs[0].address = 0x00020000; +- regs[0].size = 0x00001000; +-#if 0 // HACK: Don't set up DMA registers +- regs[1].address = 0x00008A00; +- regs[1].size = 0x00001000; +- OF_property_new(OF_env, ata, "reg", +- regs, 2 * sizeof(OF_regprop_t)); +-#else +- OF_property_new(OF_env, ata, "reg", +- regs, sizeof(OF_regprop_t)); +-#endif +- OF_prop_int_new(OF_env, ata, "interrupt-parent", pic_phandle); +- regs[0].address = 0x00000014; +- regs[0].size = 0x00000001; +- regs[1].address = 0x0000000B; +- regs[1].size = 0x00000000; +- OF_property_new(OF_env, ata, "interrupts", +- regs, 2 * sizeof(OF_regprop_t)); +- ide_pci_pmac_register(0x00000000, base_address + 0x20000, ata); +- ++ /* Keylargo IDE controller: need some work (DMA problem ?) */ ++ if (arch == ARCH_MAC99) { ++ keylargo_ata(mio, base_address, 0x1f000, 0x13, 0xb, pic_phandle); ++ keylargo_ata(mio, base_address, 0x20000, 0x14, 0xb, pic_phandle); + } ++#if 0 + /* Timer */ + { + OF_node_t *tmr; +@@ -2746,10 +2861,11 @@ + regs, sizeof(OF_regprop_t)); + OF_node_put(OF_env, tmr); + } ++#endif + /* VIA-PMU */ + { + /* Controls adb, RTC and power-mgt (forget it !) */ +- OF_node_t *via, *adb, *rtc; ++ OF_node_t *via, *adb; + OF_regprop_t regs[1]; + #if 0 // THIS IS A HACK AND IS COMPLETELY ABSURD ! + // (but needed has Qemu doesn't emulate via-pmu). +@@ -2773,14 +2889,21 @@ + regs[0].size = 0x00002000; + OF_property_new(OF_env, via, "reg", regs, sizeof(OF_regprop_t)); + OF_prop_int_new(OF_env, via, "interrupt-parent", pic_phandle); ++ if (arch == ARCH_HEATHROW) { ++ OF_prop_int_new(OF_env, via, "interrupts", 0x12); ++ } else { + regs[0].address = 0x00000019; + regs[0].size = 0x00000001; + OF_property_new(OF_env, via, "interrupts", + regs, sizeof(OF_regprop_t)); ++ } ++ /* force usage of OF bus speeds */ ++ OF_prop_int_new(OF_env, via, "BusSpeedCorrect", 1); + #if 0 + OF_prop_int_new(OF_env, via, "pmu-version", 0x00D0740C); + #endif +-#if 1 ++ { ++ OF_node_t *kbd, *mouse; + /* ADB pseudo-device */ + adb = OF_node_new(OF_env, via, "adb", OF_ADDRESS_NONE); + if (adb == NULL) { +@@ -2797,9 +2920,26 @@ + OF_prop_int_new(OF_env, adb, "#size-cells", 0); + OF_pack_get_path(OF_env, tmp, 512, adb); + OF_prop_string_new(OF_env, als, "adb", tmp); +- /* XXX: add "keyboard@2" and "mouse@3" */ +- OF_node_put(OF_env, adb); +-#endif ++ ++ kbd = OF_node_new(OF_env, adb, "keyboard", 2); ++ if (kbd == NULL) { ++ ERROR("Cannot create 'kbd'\n"); ++ goto out; ++ } ++ OF_prop_string_new(OF_env, kbd, "device_type", "keyboard"); ++ OF_prop_int_new(OF_env, kbd, "reg", 2); ++ ++ mouse = OF_node_new(OF_env, adb, "mouse", 3); ++ if (mouse == NULL) { ++ ERROR("Cannot create 'mouse'\n"); ++ goto out; ++ } ++ OF_prop_string_new(OF_env, mouse, "device_type", "mouse"); ++ OF_prop_int_new(OF_env, mouse, "reg", 3); ++ OF_prop_int_new(OF_env, mouse, "#buttons", 3); ++ } ++ { ++ OF_node_t *rtc; + + rtc = OF_node_new(OF_env, via, "rtc", OF_ADDRESS_NONE); + if (rtc == NULL) { +@@ -2813,14 +2953,55 @@ + OF_prop_string_new(OF_env, rtc, "compatible", "rtc"); + #endif + OF_node_put(OF_env, rtc); +- OF_node_put(OF_env, via); + } ++ // OF_node_put(OF_env, via); ++ } ++ { ++ OF_node_t *pmgt; ++ pmgt = OF_node_new(OF_env, mio, "power-mgt", OF_ADDRESS_NONE); ++ OF_prop_string_new(OF_env, pmgt, "device_type", "power-mgt"); ++ OF_prop_string_new(OF_env, pmgt, "compatible", "cuda"); ++ OF_prop_string_new(OF_env, pmgt, "mgt-kind", "min-consumption-pwm-led"); ++ OF_node_put(OF_env, pmgt); ++ } ++ + out: + // OF_node_put(OF_env, mio); + OF_node_put(OF_env, chs); + OF_node_put(OF_env, als); + } + ++void OF_finalize_pci_ide (void *dev, ++ uint32_t io_base0, uint32_t io_base1, ++ uint32_t io_base2, uint32_t io_base3) ++{ ++ OF_env_t *OF_env = OF_env_main; ++ OF_node_t *pci_ata = dev; ++ OF_node_t *ata, *atas[2]; ++ int i; ++ ++ OF_prop_int_new(OF_env, pci_ata, "#address-cells", 1); ++ OF_prop_int_new(OF_env, pci_ata, "#size-cells", 0); ++ ++ /* XXX: Darwin handles only one device */ ++ for(i = 0; i < 1; i++) { ++ ata = OF_node_new(OF_env, pci_ata, "ata-4", i); ++ if (ata == NULL) { ++ ERROR("Cannot create 'ata-4'\n"); ++ return; ++ } ++ OF_prop_string_new(OF_env, ata, "device_type", "ata"); ++ OF_prop_string_new(OF_env, ata, "compatible", "cmd646-ata"); ++ OF_prop_string_new(OF_env, ata, "model", "ata-4"); ++ OF_prop_int_new(OF_env, ata, "#address-cells", 1); ++ OF_prop_int_new(OF_env, ata, "#size-cells", 0); ++ OF_prop_int_new(OF_env, ata, "reg", i); ++ atas[i] = ata; ++ } ++ ide_pci_pc_register(io_base0, io_base1, io_base2, io_base3, ++ atas[0], atas[1]); ++} ++ + /*****************************************************************************/ + /* Fake package */ + static void OF_method_fake (OF_env_t *OF_env) +@@ -2862,11 +3043,11 @@ + /* As we get a 1:1 mapping, do nothing */ + ihandle = popd(OF_env); + args = (void *)popd(OF_env); +- address = popd(OF_env); +- virt = popd(OF_env); +- size = popd(OF_env); + popd(OF_env); +- OF_DPRINTF("Translate address %0x %0x %0x %0x\n", ihandle, address, ++ size = popd(OF_env); ++ virt = popd(OF_env); ++ address = popd(OF_env); ++ dprintf("map %0x %0x %0x %0x\n", ihandle, address, + virt, size); + pushd(OF_env, 0); + } +@@ -3270,7 +3451,7 @@ + OF_prop_string_new(OF_env, dsk, "device_type", "block"); + OF_prop_string_new(OF_env, dsk, "category", type); + OF_prop_int_new(OF_env, dsk, "device_id", devnum); +- OF_prop_int_new(OF_env, dsk, "reg", 0); ++ OF_prop_int_new(OF_env, dsk, "reg", devnum); + OF_method_new(OF_env, dsk, "open", &OF_blockdev_open); + OF_method_new(OF_env, dsk, "seek", &OF_blockdev_seek); + OF_method_new(OF_env, dsk, "read", &OF_blockdev_read); +@@ -3432,7 +3613,8 @@ + } + + void OF_vga_register (const unsigned char *name, unused uint32_t address, +- int width, int height, int depth) ++ int width, int height, int depth, ++ unsigned long vga_bios_addr, unsigned long vga_bios_size) + { + OF_env_t *OF_env; + unsigned char tmp[OF_NAMELEN_MAX]; +@@ -3504,6 +3686,18 @@ + OF_prop_string_new(OF_env, als, "display", tmp); + OF_node_put(OF_env, als); + /* XXX: may also need read-rectangle */ ++ ++ if (vga_bios_size >= 8) { ++ const uint8_t *p; ++ int size; ++ /* check the QEMU VGA BIOS header */ ++ p = (const uint8_t *)vga_bios_addr; ++ if (p[0] == 'N' && p[1] == 'D' && p[2] == 'R' && p[3] == 'V') { ++ size = *(uint32_t *)(p + 4); ++ OF_property_new(OF_env, disp, "driver,AAPL,MacOS,PowerPC", ++ p + 8, size); ++ } ++ } + out: + OF_node_put(OF_env, disp); + } +@@ -4451,7 +4645,10 @@ + break; + case 0x233441d3: /* MacOS X 10.2 and OpenDarwin 1.41 */ + /* Create "memory-map" pseudo device */ +- popd(OF_env); ++ { ++ OF_node_t *map; ++ uint32_t phandle; ++ + /* Find "/packages" */ + chs = OF_pack_find_by_name(OF_env, OF_node_root, "/chosen"); + if (chs == NULL) { +@@ -4459,10 +4656,6 @@ + ERROR("Cannot get '/chosen'\n"); + break; + } +- { +-#if 1 +- OF_node_t *map; +- uint32_t phandle; + map = OF_node_new(OF_env, chs, "memory-map", OF_ADDRESS_NONE); + if (map == NULL) { + pushd(OF_env, -1); +@@ -4473,11 +4666,8 @@ + OF_node_put(OF_env, map); + OF_node_put(OF_env, chs); + pushd(OF_env, phandle); +- } +-#else +- pushd(OF_env, 0); +-#endif + pushd(OF_env, 0); ++ } + break; + case 0x32a2d18e: /* MacOS X 10.2 and OpenDarwin 6.02 */ + /* Return screen ihandle */ +@@ -4540,9 +4730,10 @@ + case 0x4ad41f2d: + /* Yaboot: wait 10 ms: sure ! */ + break; ++ + default: + /* ERROR */ +- printf("Script:\n%s\n", FString); ++ printf("Script: len=%d\n%s\n", (int)strlen(FString), FString); + printf("Call %0x NOT IMPLEMENTED !\n", crc); + bug(); + break; +diff -wruN --exclude '*~' --exclude '*.o' --exclude '*.bin' --exclude '*.out' --exclude mkdiff OpenHackWare-release-0.4.org/src/pci.c OpenHackWare-release-0.4/src/pci.c +--- OpenHackWare-release-0.4.org/src/pci.c 2005-03-31 09:23:33.000000000 +0200 ++++ OpenHackWare-release-0.4/src/pci.c 2005-07-03 15:52:16.000000000 +0200 +@@ -99,8 +99,8 @@ + uint16_t min_grant; + uint16_t max_latency; + uint8_t irq_line; +- uint32_t regions[6]; +- uint32_t sizes[6]; ++ uint32_t regions[7]; /* the region 6 is the PCI ROM */ ++ uint32_t sizes[7]; + pci_device_t *next; + }; + +@@ -158,6 +158,7 @@ + + /* IRQ numbers assigned to PCI IRQs */ + static uint8_t prep_pci_irqs[4] = { 9, 11, 9, 11 }; ++static uint8_t heathrow_pci_irqs[4] = { 0x15, 0x16, 0x17, 0x18 }; + static uint8_t pmac_pci_irqs[4] = { 8, 9, 10, 11 }; + + /* PREP PCI host */ +@@ -399,6 +400,79 @@ + &uninorth_config_readl, &uninorth_config_writel, + }; + ++/* Grackle PCI host */ ++ ++static uint32_t grackle_cfg_address (pci_bridge_t *bridge, ++ uint8_t bus, uint8_t devfn, ++ uint8_t offset) ++{ ++ uint32_t addr; ++ addr = 0x80000000 | (bus << 16) | (devfn << 8) | (offset & 0xfc); ++ stswap32((uint32_t *)bridge->cfg_addr, addr); ++ return bridge->cfg_data + (offset & 3); ++} ++ ++static uint8_t grackle_config_readb (pci_bridge_t *bridge, ++ uint8_t bus, uint8_t devfn, ++ uint8_t offset) ++{ ++ uint32_t addr; ++ addr = grackle_cfg_address(bridge, bus, devfn, offset); ++ return *((uint8_t *)addr); ++} ++ ++static void grackle_config_writeb (pci_bridge_t *bridge, ++ uint8_t bus, uint8_t devfn, ++ uint8_t offset, uint8_t val) ++{ ++ uint32_t addr; ++ addr = grackle_cfg_address(bridge, bus, devfn, offset); ++ *((uint8_t *)addr) = val; ++} ++ ++static uint16_t grackle_config_readw (pci_bridge_t *bridge, ++ uint8_t bus, uint8_t devfn, ++ uint8_t offset) ++{ ++ uint32_t addr; ++ addr = grackle_cfg_address(bridge, bus, devfn, offset); ++ return ldswap16((uint16_t *)addr); ++} ++ ++static void grackle_config_writew (pci_bridge_t *bridge, ++ uint8_t bus, uint8_t devfn, ++ uint8_t offset, uint16_t val) ++{ ++ uint32_t addr; ++ addr = grackle_cfg_address(bridge, bus, devfn, offset); ++ stswap16((uint16_t *)addr, val); ++} ++ ++static uint32_t grackle_config_readl (pci_bridge_t *bridge, ++ uint8_t bus, uint8_t devfn, ++ uint8_t offset) ++{ ++ uint32_t addr; ++ addr = grackle_cfg_address(bridge, bus, devfn, offset); ++ return ldswap32((uint32_t *)addr); ++} ++ ++static void grackle_config_writel (pci_bridge_t *bridge, ++ uint8_t bus, uint8_t devfn, ++ uint8_t offset, uint32_t val) ++{ ++ uint32_t addr; ++ ++ addr = grackle_cfg_address(bridge, bus, devfn, offset); ++ stswap32((uint32_t *)addr, val); ++} ++ ++static pci_ops_t grackle_pci_ops = { ++ &grackle_config_readb, &grackle_config_writeb, ++ &grackle_config_readw, &grackle_config_writew, ++ &grackle_config_readl, &grackle_config_writel, ++}; ++ + static inline uint8_t pci_config_readb (pci_bridge_t *bridge, + uint8_t bus, uint8_t devfn, + uint8_t offset) +@@ -466,12 +540,22 @@ + }, + }; + ++static int ide_config_cb2 (pci_device_t *device) ++{ ++ OF_finalize_pci_ide(device->common.OF_private, ++ device->regions[0] & ~0x0000000F, ++ device->regions[1] & ~0x0000000F, ++ device->regions[2] & ~0x0000000F, ++ device->regions[3] & ~0x0000000F); ++ return 0; ++} ++ + static pci_dev_t ide_devices[] = { + { +- 0x8086, 0x0100, +- NULL, "Qemu IDE", "Qemu IDE", "ide", ++ 0x1095, 0x0646, /* CMD646 IDE controller */ ++ "pci-ide", "pci-ata", NULL, NULL, + 0, 0, 0, +- NULL, NULL, ++ ide_config_cb2, NULL, + }, + { + 0xFFFF, 0xFFFF, +@@ -481,7 +565,9 @@ + }, + }; + +-static int ide_config_cb (pci_device_t *device) ++#if 0 ++/* should base it on PCI ID, not on arch */ ++static int ide_config_cb (unused pci_device_t *device) + { + printf("Register IDE controller\n"); + switch (arch) { +@@ -491,14 +577,8 @@ + device->common.OF_private); + break; + default: +- ide_pci_pc_register(device->regions[0] & ~0x0000000F, +- device->regions[1] & ~0x0000000F, +- device->regions[2] & ~0x0000000F, +- device->regions[3] & ~0x0000000F, +- device->common.OF_private); + break; + } +- + return 0; + } + +@@ -512,16 +592,12 @@ + device->common.OF_private); + break; + default: +- ide_pci_pc_register(device->regions[0] & ~0x0000000F, +- device->regions[1] & ~0x0000000F, +- device->regions[2] & ~0x0000000F, +- device->regions[3] & ~0x0000000F, +- device->common.OF_private); + break; + } + + return 0; + } ++#endif + + static pci_subclass_t mass_subclass[] = { + { +@@ -530,7 +606,7 @@ + }, + { + 0x01, "IDE controller", "ide", ide_devices, NULL, +- &ide_config_cb, NULL, ++ NULL, NULL, + }, + { + 0x02, "Floppy disk controller", NULL, NULL, NULL, +@@ -546,7 +622,7 @@ + }, + { + 0x05, "ATA controller", "ata", NULL, NULL, +- &ata_config_cb, NULL, ++ NULL, NULL, + }, + { + 0x80, "misc mass-storage controller", NULL, NULL, NULL, +@@ -646,7 +722,9 @@ + /* VGA 640x480x16 */ + OF_vga_register(device->common.device->name, + device->regions[0] & ~0x0000000F, +- vga_width, vga_height, vga_depth); ++ vga_width, vga_height, vga_depth, ++ device->regions[6] & ~0x0000000F, ++ device->sizes[6]); + } + vga_console_register(); + +@@ -750,6 +828,13 @@ + NULL, &PREP_pci_ops, + }; + ++pci_dev_t grackle_fake_bridge = { ++ 0xFFFF, 0xFFFF, ++ "pci", "pci-bridge", "DEC,21154", "DEC,21154.pci-bridge", ++ -1, -1, -1, ++ NULL, &grackle_pci_ops, ++}; ++ + static pci_dev_t hbrg_devices[] = { + { + 0x106B, 0x0020, NULL, +@@ -758,8 +843,8 @@ + NULL, &uninorth_agp_fake_bridge, + }, + { +- 0x106B, 0x001F, +- NULL, "pci", "AAPL,UniNorth", "uni-north", ++ 0x106B, 0x001F, NULL, ++ "pci", "AAPL,UniNorth", "uni-north", + 3, 2, 1, + NULL, &uninorth_fake_bridge, + }, +@@ -770,10 +855,10 @@ + NULL, &uninorth_fake_bridge, + }, + { +- 0x1011, 0x0026, NULL, +- "pci-bridge", NULL, NULL, ++ 0x1057, 0x0002, "pci", ++ "pci", "MOT,MPC106", "grackle", + 3, 2, 1, +- NULL, &PREP_pci_ops, ++ NULL, &grackle_fake_bridge, + }, + { + 0x1057, 0x4801, NULL, +@@ -1446,8 +1531,10 @@ + /* Apple Mac-io controller */ + { + 0x106B, 0x0022, +- "mac-io", "mac-io", "AAPL,Keylargo", "Keylargo", +- 1, 1, 2, ++ /* model, compatible and #interrupt-cells fields are filled in ++ of.c */ ++ "mac-io", "mac-io", NULL, NULL, ++ 1, 1, 0, + &macio_config_cb, NULL, + }, + { +@@ -1599,7 +1686,7 @@ + uint8_t min_grant, uint8_t max_latency, + int irq_line) + { +- uint32_t cmd; ++ uint32_t cmd, addr; + int i; + + device->min_grant = min_grant; +@@ -1611,22 +1698,28 @@ + printf("MAP PCI device %d:%d to IRQ %d\n", + device->bus, device->devfn, irq_line); + } +- for (i = 0; i < 6; i++) { ++ for (i = 0; i < 7; i++) { + if ((device->regions[i] & ~0xF) != 0x00000000 && + (device->regions[i] & ~0xF) != 0xFFFFFFF0) { + printf("Map PCI device %d:%d %d to %0x %0x (%s)\n", + device->bus, device->devfn, i, + device->regions[i], device->sizes[i], +- device->regions[i] & 0x00000001 ? "I/O" : "memory"); ++ (device->regions[i] & 0x00000001) && i != 6 ? "I/O" : ++ "memory"); ++ if (i != 6) { + cmd = pci_config_readl(bridge, device->bus, device->devfn, 0x04); + if (device->regions[i] & 0x00000001) + cmd |= 0x00000001; + else + cmd |= 0x00000002; + pci_config_writel(bridge, device->bus, device->devfn, 0x04, cmd); ++ } ++ if (i == 6) ++ addr = 0x30; /* PCI ROM */ ++ else ++ addr = 0x10 + (i * sizeof(uint32_t)); + pci_config_writel(bridge, device->bus, device->devfn, +- 0x10 + (i * sizeof(uint32_t)), +- device->regions[i]); ++ addr, device->regions[i]); + } + } + } +@@ -1900,7 +1993,7 @@ + goto out; + } + ret = (pci_u_t *)newd; +- max_areas = 6; ++ max_areas = 7; + /* register PCI device in OF tree */ + if (bridge->dev.common.type == PCI_FAKE_BRIDGE) { + newd->common.OF_private = +@@ -1927,6 +2020,9 @@ + /* Handle 64 bits memory mapping */ + continue; + } ++ if (i == 6) ++ addr = 0x30; /* PCI ROM */ ++ else + addr = 0x10 + (i * sizeof(uint32_t)); + /* Get region size + * Note: we assume it's always a power of 2 +@@ -1935,7 +2031,7 @@ + smask = pci_config_readl(bridge, bus, devfn, addr); + if (smask == 0x00000000 || smask == 0xFFFFFFFF) + continue; +- if (smask & 0x00000001) { ++ if ((smask & 0x00000001) != 0 && i != 6) { + /* I/O space */ + base = io_base; + /* Align to a minimum of 256 bytes (arbitrary) */ +@@ -1947,6 +2043,8 @@ + /* Align to a minimum of 64 kB (arbitrary) */ + min_align = 1 << 16; + amask = 0x0000000F; ++ if (i == 6) ++ smask |= 1; /* PCI ROM enable */ + } + omask = smask & amask; + smask &= ~amask; +@@ -1980,7 +2078,10 @@ + if (irq_pin > 0) { + /* assign the IRQ */ + irq_pin = ((devfn >> 3) + irq_pin - 1) & 3; +- if (arch == ARCH_PREP) { ++ /* XXX: should base it on the PCI bridge type, not the arch */ ++ switch(arch) { ++ case ARCH_PREP: ++ { + int elcr_port, val; + irq_line = prep_pci_irqs[irq_pin]; + /* set the IRQ to level-sensitive */ +@@ -1988,14 +2089,22 @@ + val = inb(elcr_port); + val |= 1 << (irq_line & 7); + outb(elcr_port, val); +- } else { ++ } ++ break; ++ case ARCH_MAC99: + irq_line = pmac_pci_irqs[irq_pin]; ++ break; ++ case ARCH_HEATHROW: ++ irq_line = heathrow_pci_irqs[irq_pin]; ++ break; ++ default: ++ break; + } + } + update_device: + pci_update_device(bridge, newd, min_grant, max_latency, irq_line); + OF_finalize_pci_device(newd->common.OF_private, bus, devfn, +- newd->regions, newd->sizes); ++ newd->regions, newd->sizes, irq_line); + /* Call special inits if needed */ + if (dev->config_cb != NULL) + (*dev->config_cb)(newd); +@@ -2049,6 +2158,32 @@ + case ARCH_CHRP: + /* TODO */ + break; ++ case ARCH_HEATHROW: ++ dev = pci_find_device(0x06, 0x00, 0xFF, checkv, checkp); ++ if (dev == NULL) ++ return -1; ++ fake_host = pci_add_host(hostp, dev, ++ (0x06 << 24) | (0x00 << 16) | (0xFF << 8)); ++ if (fake_host == NULL) ++ return -1; ++ fake_host->dev.common.type = PCI_FAKE_HOST; ++ dev = &grackle_fake_bridge; ++ if (dev == NULL) ++ goto free_fake_host; ++ fake_bridge = pci_add_bridge(fake_host, 0, 0, dev, ++ (0x06 << 24) | (0x04 << 16) | (0xFF << 8), ++ cfg_base, cfg_len, ++ cfg_base + 0x7ec00000, ++ cfg_base + 0x7ee00000, ++ mem_base, mem_len, ++ io_base, io_len, ++ rbase, rlen, ++ 0, ++ &grackle_pci_ops); ++ if (fake_bridge == NULL) ++ goto free_fake_host; ++ fake_bridge->dev.common.type = PCI_FAKE_BRIDGE; ++ break; + case ARCH_MAC99: + dev = pci_find_device(0x06, 0x00, 0xFF, checkv, checkp); + if (dev == NULL) +@@ -2167,6 +2302,30 @@ + case ARCH_CHRP: + /* TODO */ + break; ++ case ARCH_HEATHROW: ++ cfg_base = 0x80000000; ++ cfg_len = 0x7f000000; ++ mem_base = 0x80000000; ++ mem_len = 0x01000000; ++ io_base = 0xfe000000; ++ io_len = 0x00800000; ++#if 1 ++ rbase = 0xfd000000; ++ rlen = 0x01000000; ++#else ++ rbase = 0x00000000; ++ rlen = 0x01000000; ++#endif ++ if (pci_check_host(&pci_main, cfg_base, cfg_len, ++ mem_base, mem_len, io_base, io_len, rbase, rlen, ++ 0x1057, 0x0002) == 0) { ++ isa_io_base = io_base; ++ busnum++; ++ } ++ for (curh = pci_main; curh->next != NULL; curh = curh->next) ++ continue; ++ pci_check_devices(curh); ++ break; + case ARCH_MAC99: + /* We are supposed to have 3 host bridges: + * - the uninorth AGP bridge at 0xF0000000 diff --git a/pc-bios/ppc_rom.bin b/pc-bios/ppc_rom.bin index 3755ff01e74f404e5b0ab85c7cb0a29cca46cb80..8ba25bc3709fa3c3256f2c4111941c5a6fa77b4a 100644 GIT binary patch literal 524288 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 U)ix#;G>U0sD1oV?IhD-+KhU^uF#rGn literal 524288 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