Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Feb 2024 10:23:56 -0800
From:      John Baldwin <jhb@FreeBSD.org>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        FreeBSD ARM List <freebsd-arm@freebsd.org>, Current FreeBSD <freebsd-current@freebsd.org>, Warner Losh <imp@bsdimp.com>
Subject:   Re: Recent commits reject RPi4B booting: pcib0 vs. pcib1 "rman_manage_region: <pcib1 memory window> request" leads to panic
Message-ID:  <0b0ba1b0-dee5-47e2-bb93-b44a24492abd@FreeBSD.org>
In-Reply-To: <CCA368C1-C8D7-4B54-999D-6F709C4E5039@yahoo.com>
References:  <76AB969F-5BC5-4116-8AF4-3ED2CABEBBA5.ref@yahoo.com> <76AB969F-5BC5-4116-8AF4-3ED2CABEBBA5@yahoo.com> <f4326cda-c602-439f-ab03-f66b3bca5ff2@FreeBSD.org> <1F704317-FDB8-4BDA-8A67-61CF48794DFE@yahoo.com> <9AFDF067-96E4-4E67-90D2-F40DAF3F138F@yahoo.com> <4C279710-5F88-4295-B1A4-7C395F3587E5@yahoo.com> <3A145420-399D-4EBD-9FF4-18924908AB1D@yahoo.com> <1298DF9C-0F82-4567-8E81-7332A608C7FC@yahoo.com> <d7b20565-6aa1-486f-a197-11fbc4d0c8dd@FreeBSD.org> <36ECB040-7E09-47A9-AF71-DE546A78E9CA@yahoo.com> <CCA368C1-C8D7-4B54-999D-6F709C4E5039@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/14/24 10:16 AM, Mark Millard wrote:
> Top posting a related but separate item:
> 
> I looked up some old (2022-Dec-17) lspci -v output from
> a Linux boot. Note the "Memory at" value 600000000 (in
> the 35 bit BCM2711 address space) and the "(64-bit,
> non-prefetchable)" (and "[size=4K]").
> 
> 01:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01) (prog-if 30 [XHCI])
>          Subsystem: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller
>          Device tree node: /sys/firmware/devicetree/base/scb/pcie@7d500000/pci@0,0/usb@0,0
>          Flags: bus master, fast devsel, latency 0, IRQ 51
>          Memory at 600000000 (64-bit, non-prefetchable) [size=4K]
>          Capabilities: [80] Power Management version 3
>          Capabilities: [90] MSI: Enable+ Count=1/4 Maskable- 64bit+
>          Capabilities: [c4] Express Endpoint, MSI 00
>          Capabilities: [100] Advanced Error Reporting
>          Kernel driver in use: xhci_hcd
> 
> 
> "Memory at 600000000 (64-bit, non-prefetchable)":
> Violation of a PCIe standard?

No, this is a device BAR which can be 64-bit (memory BARs can either
be 32-bits or 64-bits).  However, the "window" in a PCI _bridge_ for
memory is only defined to be 32-bits.  Windows in PCI-PCI bridges
are a special type of BAR that defines the address ranges that the
bridge decodes on the parent side and passes down to child devices.
The prefetchable window in PCI-PCI bridges can optionally be 64-bit.

BAR == a range of memory or I/O port addresses decoded by a device,
usually mapped to a register bank, but sometimes mapped to internal
memory (e.g. a framebuffer)

Window == a range of memory or I/O port addresses decoded by a bridge
for which transactions are passed across the bridge to be handled by
a child device.

-- 
John Baldwin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0b0ba1b0-dee5-47e2-bb93-b44a24492abd>