diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2019-08-18 21:16:50 +0100 |
---|---|---|
committer | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2019-08-18 21:16:50 +0100 |
commit | 538ededddd8dd474f16e44fa2dccc2c7a42f5c10 (patch) | |
tree | ab81dfaa7e445e785b05ba4e1393d702dbd34ef3 | |
parent | d9273b7a9d641a3717c5f170cf56537abbe6c217 (diff) | |
download | qemu-openbios-538ededddd8dd474f16e44fa2dccc2c7a42f5c10.tar.gz |
SPARC64: set active package and current instance to root device node before probe
Now that all PCI devices have been converted to new-device...finish-device we can
set both the active package and current instance to the root device node before
probe, giving all child devices a correct active package and instance chain during
creation.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
-rw-r--r-- | arch/sparc64/openbios.c | 6 | ||||
-rw-r--r-- | drivers/ide.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/sparc64/openbios.c b/arch/sparc64/openbios.c index e2f7e597..e9f47269 100644 --- a/arch/sparc64/openbios.c +++ b/arch/sparc64/openbios.c @@ -821,11 +821,17 @@ arch_init( void ) feval("['] sparc64-dma-sync to (dma-sync)"); #ifdef CONFIG_DRIVER_PCI + push_str("/"); + fword("find-device"); + feval("\" /\" open-dev to my-self"); + ob_pci_init(); /* Set TAS register to match the virtual-dma properties set during sabre configure */ sparc64_set_tas_register(PBM_PCI_TARGET_AS_CD_ENABLE); + + feval("0 to my-self"); #endif nvconf_init(); device_end(); diff --git a/drivers/ide.c b/drivers/ide.c index 18a27c64..36e3b897 100644 --- a/drivers/ide.c +++ b/drivers/ide.c @@ -1392,9 +1392,6 @@ int ob_ide_init(const char *path, uint32_t io_port0, uint32_t ctl_port0, io_ports[1] = io_port1; ctl_ports[1] = ctl_port1; - push_str(path); - fword("find-device"); - for (i = 0; i < IDE_NUM_CHANNELS; i++, current_channel++) { chan = malloc(sizeof(struct ide_channel)); |