qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] hw/pci-host/uninorth.c: Add support for Apple's


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] [PATCH] hw/pci-host/uninorth.c: Add support for Apple's PCI bridge register 0x48
Date: Fri, 22 Jan 2016 16:46:08 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.5.0

On 22/01/16 16:09, Programmingkid wrote:

> Apple has custom PCI bridge registers that are not a part of any known 
> standard. This patch implements register 0x48. With this patch the 
> AppleMacRiscPCI kernel extension no longer prints these error messages for 
> the mac99 target:
> AppleMacRiscPCI: bad range 2(80000000:01000000)
> AppleMacRiscPCI: bad range 2(81000000:00001000)
> AppleMacRiscPCI: bad range 2(81080000:00080000)
> 
> Signed-off-by: John Arbuckle <address@hidden>
> 
> ---
>  hw/pci-host/uninorth.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/pci-host/uninorth.c b/hw/pci-host/uninorth.c
> index 215b64f..6541b10 100644
> --- a/hw/pci-host/uninorth.c
> +++ b/hw/pci-host/uninorth.c
> @@ -330,6 +330,10 @@ static void unin_agp_pci_host_realize(PCIDevice *d, 
> Error **errp)
>      d->config[0x0C] = 0x08; // cache_line_size
>      d->config[0x0D] = 0x10; // latency_timer
>      //    d->config[0x34] = 0x80; // capabilities_pointer
> +    d->config[0x48] = 0x0;
> +    d->config[0x49] = 0x0;
> +    d->config[0x4a] = 0x0;
> +    d->config[0x4b] = 0x1;
>  }
>  
>  static void u3_agp_pci_host_realize(PCIDevice *d, Error **errp)

Tested-by: Mark Cave-Ayland <address@hidden>

As this config space register is seemingly an Apple custom option (or at
least I can't find a mention of it in the PCI-PCI bridge spec) I think
this should have a comment explaining exactly what it does, and should
reference both AppleMacRiscPCI.cpp filename and the enum for the
register value (0x48 == kMacRISCPCIAddressSelect).

I'd also like to see a note explaining that this sets up the register to
match the PCI memory region base/size currently used in QEMU/OpenBIOS
too in order to provide a hint that if one changes, so must the other.

BTW is the register required for any of the other uni-north realize
functions? Alex?


ATB,

Mark.




reply via email to

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