ls1021a: MMU mapping to PCIe

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

ls1021a: MMU mapping to PCIe

1,068件の閲覧回数
renaud
Contributor IV

I have a boot loader to which I am adding LPAE support to make use of the PCIE bus

I have succeed to use a NVME device doing so. However, it fails when I remap the PCIe memory to both bus.

If the code remaps the memory as follows:

VA                           CPU ADDR                     PCIE addr

0x2400.0000 ==> 0x40.0000.0000 ==>    conf space (no device connected there/device node not enabled)

0x3400.0000 ==> 0x48.0000.0000 ==>    conf space (nvme device found on PCIe2)

0x5000.0000 ==> 0x48.4000.0000 ==>   0x4000.0000 mem space on PCIe2

With this MMU configuration, I can see the NVME device and access the device.

If I add the MMU mapping for PCIe1

0x4000.0000 ==> 0x40.4000.0000 == > 0x?000.0000 mem space on PCIe1

then after probing the NVME device on PCIe2,:

nvme pci-126f:2263.0: serial: A012410180629000000
nvme pci-126f:2263.0: model: SM681GEF AGS
nvme pci-126f:2263.0: firmware: TFX7GB

the system hangs.

I do not understand why a MMU mapping to an unused device would hang the system

0 件の賞賛
返信
2 返答(返信)

1,007件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

Device tree is board specific. However the LS1021A has fixed memory map and there are 2 address ranges which can be used only for access to PCIe devices. 32 GB at 0x400000_0000 for the PCIe controller1 and 32 GB at 0x480000_0000 for the PCIe controller 2. So it is expected that for the LS1021A based board which use PCIe the device tree programs these 2 outbound regions. Notice both PCIe controllers can operate only as Root Complex. So NIC should be a PCIe End Point. NIC device driver can set inbound window if required. All MSI capable devices implement the MSI capability structure defined in the PCIe Specification. System software is ultimately responsible for enabling MSI support within a device.

 

Regards

0 件の賞賛
返信

769件の閲覧回数
renaud
Contributor IV

Other thing I found out is that transfer from the NVME device are very slow (1MD/s). After setting the NS bit in the PTE, I got 44MB/s.  

I cannot either boot Linux using an image that used to boot when the boot loader did not use LPAE.

 

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2292754%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Els1021a%3A%20PCIe%E3%81%B8%E3%81%AEMMU%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2292754%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EPCIE%E3%83%90%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%ABLPAE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%83%96%E3%83%BC%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80%E3%83%BC%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3ESO%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%20NVME%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E6%88%90%E5%8A%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81PCIe%20%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%92%E4%B8%A1%E6%96%B9%E3%81%AE%E3%83%90%E3%82%B9%E3%81%AB%E5%86%8D%E3%83%9E%E3%83%83%E3%83%97%E3%81%99%E3%82%8B%E3%81%A8%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%92%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%86%8D%E3%83%9E%E3%83%83%E3%83%97%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%3A%3C%2FP%3E%3CP%3EVA%20CPU%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%20PCIE%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%3C%2FP%3E%3CP%3E0x2400.0000%20%3D%3D%26gt%3B%200x40.0000.0000%20%3D%3D%26gt%3B%20conf%20%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%20(%E3%81%9D%E3%81%93%E3%81%AB%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8C%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%86%E3%83%83%E3%83%89%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%2F%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20%E3%83%8E%E3%83%BC%E3%83%89%E3%81%8C%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84)%3C%2FP%3E%3CP%3E0x3400.0000%20%3D%3D%26gt%3B%200x48.0000.0000%20%3D%3D%26gt%3B%20conf%20%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%20(PCIe2%20%E3%81%A7%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%20nvme%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9)%3C%2FP%3E%3CP%3E0x5000.0000%20%3D%3D%26gt%3B%200x48.4000.0000%20%3D%3D%26gt%3B%200x4000.0000%20PCIe2%20%E4%B8%8A%E3%81%AE%E3%83%A1%E3%83%A2%E3%83%AA%E7%A9%BA%E9%96%93%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%20MMU%20%E6%A7%8B%E6%88%90%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81NVME%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EPCIe1%E3%81%AEMMU%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E3%81%A8%3C%2FP%3E%3CP%3E0x4000.0000%20%3D%3D%26gt%3B%200x40.4000.0000%20%3D%3D%20%26gt%3B%200x%3F000.0000%20PCIe1%20%E4%B8%8A%E3%81%AE%E3%83%A1%E3%83%A2%E3%83%AA%E7%A9%BA%E9%96%93%3C%2FP%3E%3CP%3E%E6%AC%A1%E3%81%AB%E3%80%81PCIe2%20%E4%B8%8A%E3%81%AE%20NVME%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E3%83%97%E3%83%AD%E3%83%BC%E3%83%96%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E6%AC%A1%E3%81%AE%E6%93%8D%E4%BD%9C%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ENVME%20PCI-126F%3A2263.0%3A%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%3A%20A012410180629000000%3CBR%20%2F%3E%20NVME%20PCI-126F%3A2263.0%3A%E3%83%A2%E3%83%87%E3%83%AB%3A%20SM681GEF%20AGS%3CBR%20%2F%3E%20NVME%20PCI-126F%3A2263.0%3A%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%3A%20TFX7GB%3C%2FP%3E%3CP%3E%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%8C%E3%83%8F%E3%83%B3%E3%82%B0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%AA%E4%BD%BF%E7%94%A8%E3%81%AE%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%ABMMU%E3%82%92%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E3%81%A8%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%8C%E3%83%8F%E3%83%B3%E3%82%B0%E3%82%A2%E3%83%83%E3%83%97%E3%81%99%E3%82%8B%E7%90%86%E7%94%B1%E3%81%8C%E5%88%86%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2293469%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20ls1021a%3A%20MMU%20mapping%20to%20PCIe%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2293469%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%0A%3CP%3E%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20%E3%83%84%E3%83%AA%E3%83%BC%E3%81%AF%E3%83%9C%E3%83%BC%E3%83%89%E5%9B%BA%E6%9C%89%E3%81%A7%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81LS1021A%20%E3%81%AB%E3%81%AF%E5%9B%BA%E5%AE%9A%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81PCIe%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%B8%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%AB%E3%81%AE%E3%81%BF%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E7%AF%84%E5%9B%B2%E3%81%8C%202%20%E3%81%A4%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82PCIe%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%201%20%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%200x400000_0000%20%E3%81%AB%2032%20GB%E3%80%81PCIe%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%202%20%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%200x480000_0000%20%E3%81%AB%2032%20GB%E3%80%82%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81PCIe%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%20LS1021A%20%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20%E3%83%84%E3%83%AA%E3%83%BC%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%81%93%E3%82%8C%E3%82%89%202%20%E3%81%A4%E3%81%AE%E9%80%81%E4%BF%A1%E9%A0%98%E5%9F%9F%E3%81%8C%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E4%BA%88%E6%83%B3%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E4%B8%A1%E6%96%B9%E3%81%AE%20PCIe%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%81%AF%E3%83%AB%E3%83%BC%E3%83%88%20%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%E3%81%A8%E3%81%97%E3%81%A6%E3%81%AE%E3%81%BF%E5%8B%95%E4%BD%9C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82SO%E3%80%81NIC%20%E3%81%AF%20PCIe%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82NIC%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%81%AF%E3%80%81%E5%BF%85%E8%A6%81%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%A6%E5%8F%97%E4%BF%A1%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%20MSI%20%E5%AF%BE%E5%BF%9C%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AF%E3%80%81PCIe%20%E4%BB%95%E6%A7%98%E3%81%A7%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%20MSI%20%E6%A9%9F%E8%83%BD%E6%A7%8B%E9%80%A0%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E5%86%85%E3%81%A7%20MSI%20%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%9C%80%E7%B5%82%E7%9A%84%E3%81%AA%E8%B2%AC%E4%BB%BB%E3%81%AF%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%20%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AB%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2301135%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20ls1021a%3A%20MMU%20mapping%20to%20PCIe%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2301135%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BB%96%E3%81%AB%E5%88%86%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%81%AF%E3%80%81NVME%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8B%E3%82%89%E3%81%AE%E8%BB%A2%E9%80%81%E3%81%8C%E9%9D%9E%E5%B8%B8%E3%81%AB%E9%81%85%E3%81%84%20(1MD%2Fs)%20%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82PTE%20%E3%81%A7%20NS%20%E3%83%93%E3%83%83%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%8144MB%2F%E7%A7%92%E3%81%8C%E5%BE%97%E3%82%89%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%96%E3%83%BC%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80%E3%83%BC%E3%81%8C%20LPAE%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20Linux%20%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%82%82%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E