cleanup swiotlb initialization
Boris Ostrovsky
boris.ostrovsky at oracle.com
Wed Feb 23 16:57:49 PST 2022
On 2/22/22 10:35 AM, Christoph Hellwig wrote:
> Hi all,
>
> this series tries to clean up the swiotlb initialization, including
> that of swiotlb-xen. To get there is also removes the x86 iommu table
> infrastructure that massively obsfucates the initialization path.
>
> Git tree:
>
> git://git.infradead.org/users/hch/misc.git swiotlb-init-cleanup
I haven't had a chance to look at this yet but this crashes as dom0:
[ 37.377313] BUG: unable to handle page fault for address: ffffc90042880018
[ 37.378219] #PF: supervisor read access in kernel mode
[ 37.378219] #PF: error_code(0x0000) - not-present page
[ 37.378219] PGD 7c2f2ee067 P4D 7c2f2ee067 PUD 7bf019b067 PMD 105a30067 PTE 0
[ 37.378219] Oops: 0000 [#1] PREEMPT SMP NOPTI
[ 37.378219] CPU: 14 PID: 1 Comm: swapper/0 Not tainted 5.17.0-rc5swiotlb #9
[ 37.378219] Hardware name: Oracle Corporation ORACLE SERVER E1-2c/ASY,Generic,SM,E1-2c, BIOS 49004900 12/23/2020
[ 37.378219] RIP: e030:init_iommu_one+0x248/0x2f0
[ 37.378219] Code: 48 89 43 68 48 85 c0 74 c4 be 00 20 00 00 48 89 df e8 ea ee ff ff 48 89 43 78 48 85 c0 74 ae c6 83 98 00 00 00 00 48 8b 43 38 <48> 8b 40 18 a8 01 74 07 83 8b a8 04 00 00 01 f6 83 a8 04 00 00 01
[ 37.378219] RSP: e02b:ffffc9004044bd18 EFLAGS: 00010286
[ 37.378219] RAX: ffffc90042880000 RBX: ffff888107260800 RCX: 0000000000000000
[ 37.378219] RDX: 0000000080000000 RSI: ffffea00041cab80 RDI: 00000000ffffffff
[ 37.378219] RBP: ffffc9004044bd38 R08: 0000000000000901 R09: ffffea00041cab00
[ 37.378219] R10: 0000000000000002 R11: 0000000000000000 R12: ffffc90040435008
[ 37.378219] R13: 0000000000080000 R14: 00000000efa00000 R15: 0000000000000000
[ 37.378219] FS: 0000000000000000(0000) GS:ffff88fef4180000(0000) knlGS:0000000000000000
[ 37.378219] CS: e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 37.378219] CR2: ffffc90042880018 CR3: 000000000260a000 CR4: 0000000000050660
[ 37.378219] Call Trace:
[ 37.378219] <TASK>
[ 37.378219] early_amd_iommu_init+0x3c5/0x72d
[ 37.378219] ? iommu_setup+0x284/0x284
[ 37.378219] state_next+0x158/0x68f
[ 37.378219] ? iommu_setup+0x284/0x284
[ 37.378219] iommu_go_to_state+0x28/0x2d
[ 37.378219] amd_iommu_init+0x15/0x4b
[ 37.378219] ? iommu_setup+0x284/0x284
[ 37.378219] pci_iommu_init+0x12/0x37
[ 37.378219] do_one_initcall+0x48/0x210
[ 37.378219] kernel_init_freeable+0x229/0x28c
[ 37.378219] ? rest_init+0xe0/0xe0
[ 37.963966] kernel_init+0x1a/0x130
[ 37.979415] ret_from_fork+0x22/0x30
[ 37.991436] </TASK>
[ 37.999465] Modules linked in:
[ 38.007413] CR2: ffffc90042880018
[ 38.019416] ---[ end trace 0000000000000000 ]---
[ 38.023418] RIP: e030:init_iommu_one+0x248/0x2f0
[ 38.023418] Code: 48 89 43 68 48 85 c0 74 c4 be 00 20 00 00 48 89 df e8 ea ee ff ff 48 89 43 78 48 85 c0 74 ae c6 83 98 00 00 00 00 48 8b 43 38 <48> 8b 40 18 a8 01 74 07 83 8b a8 04 00 00 01 f6 83 a8 04 00 00 01
[ 38.023418] RSP: e02b:ffffc9004044bd18 EFLAGS: 00010286
[ 38.023418] RAX: ffffc90042880000 RBX: ffff888107260800 RCX: 0000000000000000
[ 38.155413] RDX: 0000000080000000 RSI: ffffea00041cab80 RDI: 00000000ffffffff
[ 38.175965] Freeing initrd memory: 62640K
[ 38.155413] RBP: ffffc9004044bd38 R08: 0000000000000901 R09: ffffea00041cab00
[ 38.155413] R10: 0000000000000002 R11: 0000000000000000 R12: ffffc90040435008
[ 38.155413] R13: 0000000000080000 R14: 00000000efa00000 R15: 0000000000000000
[ 38.155413] FS: 0000000000000000(0000) GS:ffff88fef4180000(0000) knlGS:0000000000000000
[ 38.287414] CS: e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 38.309557] CR2: ffffc90042880018 CR3: 000000000260a000 CR4: 0000000000050660
[ 38.332403] Kernel panic - not syncing: Fatal exception
[ 38.351414] Rebooting in 20 seconds..
-boris
More information about the linux-riscv
mailing list