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 0000000000..86fb1c2e17 --- /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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 xMSJ8Gl-q-D@h-yc^0p6c$7ZvaMLasm2 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 z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLjA z|C|Iuj^pfXn{Z$0))A-l6HdX-Kb?5r&V+N{lKoC@(-;2j=AHket#9X_O}uZle*+B2Io;#BoB+OP$i&l4s!FY5D@fx_{z*rC&&%`PgA6_tVcfxyzm8 fX@uM7hUuuwn(l3KrL(ka@q)xp$ID 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 z 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 K(%YJw3jF_`GVRR(