Files
Linux/lib
Alex Sierra 4c2e0f764e lib: add support for device coherent type in test_hmm
Device Coherent type uses device memory that is coherently accesible by
the CPU.  This could be shown as SP (special purpose) memory range at the
BIOS-e820 memory enumeration.  If no SP memory is supported in system,
this could be faked by setting CONFIG_EFI_FAKE_MEMMAP.

Currently, test_hmm only supports two different SP ranges of at least
256MB size. This could be specified in the kernel parameter variable
efi_fake_mem. Ex. Two SP ranges of 1GB starting at 0x100000000 &
0x140000000 physical address. Ex.
efi_fake_mem=1G@0x100000000:0x40000,1G@0x140000000:0x40000

Private and coherent device mirror instances can be created in the same
probed.  This is done by passing the module parameters spm_addr_dev0 &
spm_addr_dev1.  In this case, it will create four instances of
device_mirror.  The first two correspond to private device type, the last
two to coherent type.  Then, they can be easily accessed from user space
through /dev/hmm_mirror<num_device>.  Usually num_device 0 and 1 are for
private, and 2 and 3 for coherent types.  If no module parameters are
passed, two instances of private type device_mirror will be created only.

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Alex Sierra <[email protected]>
Acked-by: Felix Kuehling <[email protected]>
Reviewed-by: Alistair Poppple <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Jason Gunthorpe <[email protected]>
Cc: Jerome Glisse <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: Ralph Campbell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
2022-07-17 17:14:29 -07:00
..
…
2022-06-12 14:51:51 +08:00
2022-05-09 17:20:37 -07:00
…
…
2022-03-03 10:47:52 +12:00
…
…
2021-11-18 13:16:22 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2022-03-07 12:48:35 -07:00
…
…
…
2022-04-22 21:30:57 +02:00
…
…
…
…
…
…
…
…
2022-01-15 08:47:31 -08:00
2022-03-07 12:48:35 -07:00
2022-04-29 14:38:01 -07:00
…
…
…
…
2022-06-12 14:51:51 +08:00
…
…
…
…
…
2022-06-12 14:51:51 +08:00
2022-06-12 14:51:51 +08:00
…
…
…
…
…
…
…
…
…
…
2022-04-29 14:38:01 -07:00
…
2022-01-20 08:52:54 +02:00
2022-04-04 14:29:20 -06:00
…
…
…
…
…
…
…