Patchwork [04/10] sun4u: create VGA card after ISA bus

login
register
mail settings
Submitter Hervé Poussineau
Date Jan. 4, 2013, 9:29 p.m.
Message ID <1357334986-13941-5-git-send-email-hpoussin@reactos.org>
Download mbox | patch
Permalink /patch/209550/
State New
Headers show

Comments

Hervé Poussineau - Jan. 4, 2013, 9:29 p.m.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
---
 hw/sun4u.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Andreas Färber - Jan. 10, 2013, 5:24 p.m.
Am 04.01.2013 22:29, schrieb Hervé Poussineau:
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
> ---
>  hw/sun4u.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Doesn't look wrong to me, cc'ing Blue. I figure this is for 07/10,
which switches to isa_register_portio_list().

Andreas

> 
> diff --git a/hw/sun4u.c b/hw/sun4u.c
> index cbfd217..c9150ad 100644
> --- a/hw/sun4u.c
> +++ b/hw/sun4u.c
> @@ -825,11 +825,12 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
>      ivec_irqs = qemu_allocate_irqs(cpu_set_ivec_irq, cpu, IVEC_MAX);
>      pci_bus = pci_apb_init(APB_SPECIAL_BASE, APB_MEM_BASE, ivec_irqs, &pci_bus2,
>                             &pci_bus3, &pbm_irqs);
> -    pci_vga_init(pci_bus);
>  
>      // XXX Should be pci_bus3
>      isa_bus = pci_ebus_init(pci_bus, -1, pbm_irqs);
>  
> +    pci_vga_init(pci_bus);
> +
>      i = 0;
>      if (hwdef->console_serial_base) {
>          serial_mm_init(address_space_mem, hwdef->console_serial_base, 0,
>
Hervé Poussineau - Jan. 10, 2013, 7:30 p.m.
Andreas Färber a écrit :
> Am 04.01.2013 22:29, schrieb Hervé Poussineau:
>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>> ---
>>  hw/sun4u.c |    3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> Doesn't look wrong to me, cc'ing Blue. I figure this is for 07/10,
> which switches to isa_register_portio_list().

Indeed.
ISA bus is created in pci_ebus_init(). VGA card registers some ISA I/O 
ports, so an ISA bus must be present.

Indeed.

> 
> Andreas
> 
>> diff --git a/hw/sun4u.c b/hw/sun4u.c
>> index cbfd217..c9150ad 100644
>> --- a/hw/sun4u.c
>> +++ b/hw/sun4u.c
>> @@ -825,11 +825,12 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
>>      ivec_irqs = qemu_allocate_irqs(cpu_set_ivec_irq, cpu, IVEC_MAX);
>>      pci_bus = pci_apb_init(APB_SPECIAL_BASE, APB_MEM_BASE, ivec_irqs, &pci_bus2,
>>                             &pci_bus3, &pbm_irqs);
>> -    pci_vga_init(pci_bus);
>>  
>>      // XXX Should be pci_bus3
>>      isa_bus = pci_ebus_init(pci_bus, -1, pbm_irqs);
>>  
>> +    pci_vga_init(pci_bus);
>> +
>>      i = 0;
>>      if (hwdef->console_serial_base) {
>>          serial_mm_init(address_space_mem, hwdef->console_serial_base, 0,
>>
> 
>
Blue Swirl - Jan. 12, 2013, 11:42 a.m.
On Thu, Jan 10, 2013 at 7:30 PM, Hervé Poussineau <hpoussin@reactos.org> wrote:
> Andreas Färber a écrit :
>
>> Am 04.01.2013 22:29, schrieb Hervé Poussineau:
>>>
>>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>>> ---
>>>  hw/sun4u.c |    3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>>
>> Doesn't look wrong to me, cc'ing Blue. I figure this is for 07/10,
>> which switches to isa_register_portio_list().
>
>
> Indeed.
> ISA bus is created in pci_ebus_init(). VGA card registers some ISA I/O
> ports, so an ISA bus must be present.

OK by me.

>
> Indeed.
>
>
>>
>> Andreas
>>
>>> diff --git a/hw/sun4u.c b/hw/sun4u.c
>>> index cbfd217..c9150ad 100644
>>> --- a/hw/sun4u.c
>>> +++ b/hw/sun4u.c
>>> @@ -825,11 +825,12 @@ static void sun4uv_init(MemoryRegion
>>> *address_space_mem,
>>>      ivec_irqs = qemu_allocate_irqs(cpu_set_ivec_irq, cpu, IVEC_MAX);
>>>      pci_bus = pci_apb_init(APB_SPECIAL_BASE, APB_MEM_BASE, ivec_irqs,
>>> &pci_bus2,
>>>                             &pci_bus3, &pbm_irqs);
>>> -    pci_vga_init(pci_bus);
>>>       // XXX Should be pci_bus3
>>>      isa_bus = pci_ebus_init(pci_bus, -1, pbm_irqs);
>>>  +    pci_vga_init(pci_bus);
>>> +
>>>      i = 0;
>>>      if (hwdef->console_serial_base) {
>>>          serial_mm_init(address_space_mem, hwdef->console_serial_base, 0,
>>>
>>
>>
>
Andreas Färber - Jan. 12, 2013, 3:58 p.m.
Am 12.01.2013 12:42, schrieb Blue Swirl:
> On Thu, Jan 10, 2013 at 7:30 PM, Hervé Poussineau <hpoussin@reactos.org> wrote:
>> Andreas Färber a écrit :
>>
>>> Am 04.01.2013 22:29, schrieb Hervé Poussineau:
>>>>
>>>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>>>> ---
>>>>  hw/sun4u.c |    3 ++-
>>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>>
>>> Doesn't look wrong to me, cc'ing Blue. I figure this is for 07/10,
>>> which switches to isa_register_portio_list().
>>
>>
>> Indeed.
>> ISA bus is created in pci_ebus_init(). VGA card registers some ISA I/O
>> ports, so an ISA bus must be present.
> 
> OK by me.

Thanks, applied to memory-ioport branch (with an additional explanatory
sentence in the commit message):
https://github.com/afaerber/qemu-cpu/commits/memory-ioport

Andreas

Patch

diff --git a/hw/sun4u.c b/hw/sun4u.c
index cbfd217..c9150ad 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -825,11 +825,12 @@  static void sun4uv_init(MemoryRegion *address_space_mem,
     ivec_irqs = qemu_allocate_irqs(cpu_set_ivec_irq, cpu, IVEC_MAX);
     pci_bus = pci_apb_init(APB_SPECIAL_BASE, APB_MEM_BASE, ivec_irqs, &pci_bus2,
                            &pci_bus3, &pbm_irqs);
-    pci_vga_init(pci_bus);
 
     // XXX Should be pci_bus3
     isa_bus = pci_ebus_init(pci_bus, -1, pbm_irqs);
 
+    pci_vga_init(pci_bus);
+
     i = 0;
     if (hwdef->console_serial_base) {
         serial_mm_init(address_space_mem, hwdef->console_serial_base, 0,