Patchwork isapc: give system address space when pci is disabled

login
register
mail settings
Submitter Hervé Poussineau
Date Sept. 18, 2011, 4:04 p.m.
Message ID <1316361891-8960-1-git-send-email-hpoussin@reactos.org>
Download mbox | patch
Permalink /patch/115268/
State New
Headers show

Comments

Hervé Poussineau - Sept. 18, 2011, 4:04 p.m.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
---
 hw/pc_piix.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Jan Kiszka - Sept. 19, 2011, 7:57 a.m.
On 2011-09-18 18:04, Hervé Poussineau wrote:
> 
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
> ---
>  hw/pc_piix.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index da6fa55..c0b8a3a 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -121,7 +121,7 @@ static void pc_init1(MemoryRegion *system_memory,
>          pc_memory_init(system_memory,
>                         kernel_filename, kernel_cmdline, initrd_filename,
>                         below_4g_mem_size, above_4g_mem_size,
> -                       pci_memory, &ram_memory);
> +                       pci_enabled ? pci_memory : system_memory, &ram_memory);
>      }
>  
>      if (!xen_enabled()) {

Makes sense. I guess we should rename 'pci_memory' inside pc_memory_init
to reflect this - 'rom_memory'?

But -M isapc still only gives me a black screen. Are there further fixes
required?

Jan
Hervé Poussineau - Sept. 19, 2011, 6:49 p.m.
Jan Kiszka a écrit :
> On 2011-09-18 18:04, Hervé Poussineau wrote:
>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>> ---
>>  hw/pc_piix.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
>> index da6fa55..c0b8a3a 100644
>> --- a/hw/pc_piix.c
>> +++ b/hw/pc_piix.c
>> @@ -121,7 +121,7 @@ static void pc_init1(MemoryRegion *system_memory,
>>          pc_memory_init(system_memory,
>>                         kernel_filename, kernel_cmdline, initrd_filename,
>>                         below_4g_mem_size, above_4g_mem_size,
>> -                       pci_memory, &ram_memory);
>> +                       pci_enabled ? pci_memory : system_memory, &ram_memory);
>>      }
>>  
>>      if (!xen_enabled()) {
> 
> Makes sense. I guess we should rename 'pci_memory' inside pc_memory_init
> to reflect this - 'rom_memory'?
> 
> But -M isapc still only gives me a black screen. Are there further fixes
> required?
> 

Yes, you also need to rollback pc-bios/bios.bin to previous version (ie 
8b06c62ae48b67b320f7420dcd4854c5559e1532)

Hervé
Jan Kiszka - Sept. 20, 2011, 8:27 a.m.
On 2011-09-19 20:49, Hervé Poussineau wrote:
> Jan Kiszka a écrit :
>> On 2011-09-18 18:04, Hervé Poussineau wrote:
>>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>>> ---
>>>  hw/pc_piix.c |    2 +-
>>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
>>> index da6fa55..c0b8a3a 100644
>>> --- a/hw/pc_piix.c
>>> +++ b/hw/pc_piix.c
>>> @@ -121,7 +121,7 @@ static void pc_init1(MemoryRegion *system_memory,
>>>          pc_memory_init(system_memory,
>>>                         kernel_filename, kernel_cmdline, initrd_filename,
>>>                         below_4g_mem_size, above_4g_mem_size,
>>> -                       pci_memory, &ram_memory);
>>> +                       pci_enabled ? pci_memory : system_memory, &ram_memory);
>>>      }
>>>  
>>>      if (!xen_enabled()) {
>>
>> Makes sense. I guess we should rename 'pci_memory' inside pc_memory_init
>> to reflect this - 'rom_memory'?
>>
>> But -M isapc still only gives me a black screen. Are there further fixes
>> required?
>>
> 
> Yes, you also need to rollback pc-bios/bios.bin to previous version (ie 
> 8b06c62ae48b67b320f7420dcd4854c5559e1532)

Did you already try to bisect that probable regression in SeaBIOS?

Jan
Hervé Poussineau - Sept. 20, 2011, 9:25 p.m.
Jan Kiszka a écrit :
> On 2011-09-19 20:49, Hervé Poussineau wrote:
>> Jan Kiszka a écrit :
>>> On 2011-09-18 18:04, Hervé Poussineau wrote:
>>>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>>>> ---
>>>>  hw/pc_piix.c |    2 +-
>>>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>>>
>>>> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
>>>> index da6fa55..c0b8a3a 100644
>>>> --- a/hw/pc_piix.c
>>>> +++ b/hw/pc_piix.c
>>>> @@ -121,7 +121,7 @@ static void pc_init1(MemoryRegion *system_memory,
>>>>          pc_memory_init(system_memory,
>>>>                         kernel_filename, kernel_cmdline, initrd_filename,
>>>>                         below_4g_mem_size, above_4g_mem_size,
>>>> -                       pci_memory, &ram_memory);
>>>> +                       pci_enabled ? pci_memory : system_memory, &ram_memory);
>>>>      }
>>>>  
>>>>      if (!xen_enabled()) {
>>> Makes sense. I guess we should rename 'pci_memory' inside pc_memory_init
>>> to reflect this - 'rom_memory'?
>>>
>>> But -M isapc still only gives me a black screen. Are there further fixes
>>> required?
>>>
>> Yes, you also need to rollback pc-bios/bios.bin to previous version (ie 
>> 8b06c62ae48b67b320f7420dcd4854c5559e1532)
> 
> Did you already try to bisect that probable regression in SeaBIOS?
> 

Yes, I regtested the problem to this SeaBIOS commit:

01a5c8813b2e709809c07c5d7fab9d1c3ddb4989 is the first bad commit
commit 01a5c8813b2e709809c07c5d7fab9d1c3ddb4989
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Mon Jul 11 09:20:29 2011 +0200

     pci: activate two-pass pci initialization code

     This patch actually enables the two-pass pci initialization and
     deactivates the old pci initialization bits.

     Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

Binary is current qemu + this patch
Command line is: qemu-system-i386 -M isapc -vga std

Hervé
Anthony Liguori - Sept. 23, 2011, 4:05 p.m.
On 09/18/2011 11:04 AM, Hervé Poussineau wrote:
>
> Signed-off-by: Hervé Poussineau<hpoussin@reactos.org>

Applied.  Thanks.

Regards,

Anthony Liguori

> ---
>   hw/pc_piix.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index da6fa55..c0b8a3a 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -121,7 +121,7 @@ static void pc_init1(MemoryRegion *system_memory,
>           pc_memory_init(system_memory,
>                          kernel_filename, kernel_cmdline, initrd_filename,
>                          below_4g_mem_size, above_4g_mem_size,
> -                       pci_memory,&ram_memory);
> +                       pci_enabled ? pci_memory : system_memory,&ram_memory);
>       }
>
>       if (!xen_enabled()) {

Patch

diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index da6fa55..c0b8a3a 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -121,7 +121,7 @@  static void pc_init1(MemoryRegion *system_memory,
         pc_memory_init(system_memory,
                        kernel_filename, kernel_cmdline, initrd_filename,
                        below_4g_mem_size, above_4g_mem_size,
-                       pci_memory, &ram_memory);
+                       pci_enabled ? pci_memory : system_memory, &ram_memory);
     }
 
     if (!xen_enabled()) {