qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/pci: Display correct size for unmapped BARs in HMP 'info


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] hw/pci: Display correct size for unmapped BARs in HMP 'info pci'
Date: Wed, 4 Jan 2023 08:29:51 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1

On 3/1/23 20:45, Philippe Mathieu-Daudé wrote:
On 3/1/23 20:39, Philippe Mathieu-Daudé wrote:
On 3/1/23 18:39, BALATON Zoltan wrote:
On Tue, 3 Jan 2023, Philippe Mathieu-Daudé wrote:
When a BAR is not mapped, the displayed size is shifted by 1 byte:

 (qemu) info pci
   ...
   Bus  0, device  11, function 0:
     Ethernet controller: PCI device 1022:2000
       PCI subsystem 0000:0000
       IRQ 10, pin A
       BAR0: I/O at 0xffffffffffffffff [0x001e].
       BAR1: 32 bit memory at 0xffffffffffffffff [0x0000001e].   <===
       BAR6: 32 bit memory at 0xffffffffffffffff [0x0003fffe].   <===
       id ""
   Bus  0, device  18, function 0:
     VGA controller: PCI device 1013:00b8
       PCI subsystem 1af4:1100
       BAR0: 32 bit prefetchable memory at 0x10000000 [0x11ffffff].
       BAR1: 32 bit memory at 0x12050000 [0x12050fff].
       BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].   <===
       id ""

Only substract this byte when the BAR is mapped to display
the correct size:

 (qemu) info pci
   ...
   Bus  0, device  11, function 0:
     Ethernet controller: PCI device 1022:2000
       PCI subsystem 0000:0000
       IRQ 10, pin A
       BAR0: I/O at 0xffffffffffffffff [0x001f].
       BAR1: 32 bit memory at 0xffffffffffffffff [0x0000001f].   <===
       BAR6: 32 bit memory at 0xffffffffffffffff [0x0003ffff].   <===
       id ""
   Bus  0, device  18, function 0:
     VGA controller: PCI device 1013:00b8
       PCI subsystem 1af4:1100
       BAR0: 32 bit prefetchable memory at 0x10000000 [0x11ffffff].

Hmm actually here 0x11ffffff isn't the size but the higher address,

       BAR1: 32 bit memory at 0x12050000 [0x12050fff].
       BAR6: 32 bit memory at 0xffffffffffffffff [0x0000ffff].   <===

while here this is the size. Confusing. Wouldn't it be simpler to only
display the size?
Or range and size:

  Bus  0, device  18, function 0:
    VGA controller: PCI device 1013:00b8
      PCI subsystem 1af4:1100
BAR0: 32 bit prefetchable memory at 0x10000000-0x12000000 [0x02000000]
      BAR1: 32 bit memory at 0x12050000-0x12051000 [0x00001000]
BAR6: 32 bit memory at 0xffffffffffffffff-0xffffffffffffffff [0x00010000]





reply via email to

[Prev in Thread] Current Thread [Next in Thread]