Hi:

 I am trying to play with the NVDIMM driver and follow instructions in 
https://nvdimm.wiki.kernel.org/how_to_choose_the_correct_memmap_kernel_parameter_for_pmem_on_your_system
 and 



https://www.suse.com/communities/blog/nvdimm-enabling-part-2-intel








for setting up an emulated NVDIMM memory. 








I claimed the memory range from 0x10000000 -- 0x1fffffff via adding a kernel 
command line param memmap=256M!256M .



soccerl@ubuntu:~$ dmesg | grep e820
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000000c0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007eeecfff] usable   
<------------------------------- *
[    0.000000] BIOS-e820: [mem 0x000000007eeed000-0x000000007eef1fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x000000007eef2000-0x000000007ef1afff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ef1b000-0x000000007ff9afff] usable
[    0.000000] BIOS-e820: [mem 0x000000007ff9b000-0x000000007ffb6fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ffb7000-0x000000007ffb8fff] type 20
[    0.000000] BIOS-e820: [mem 0x000000007ffb9000-0x000000007ffbafff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ffbb000-0x000000007ffbbfff] type 20
[    0.000000] BIOS-e820: [mem 0x000000007ffbc000-0x000000007ffbdfff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ffbe000-0x000000007ffbefff] type 20
[    0.000000] BIOS-e820: [mem 0x000000007ffbf000-0x000000007ffc0fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ffc1000-0x000000007ffc1fff] type 20
[    0.000000] BIOS-e820: [mem 0x000000007ffc2000-0x000000007ffc3fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ffc4000-0x000000007ffc5fff] type 20
[    0.000000] BIOS-e820: [mem 0x000000007ffc6000-0x000000007ffc7fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ffc8000-0x000000007ffc8fff] type 20
[    0.000000] BIOS-e820: [mem 0x000000007ffc9000-0x000000007fff2fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007fff3000-0x000000007fffafff] ACPI data
[    0.000000] BIOS-e820: [mem 0x000000007fffb000-0x000000007fffefff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000007ffff000-0x000000007fffffff] usable
[    0.000000] e820: user-defined physical RAM map:
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] e820: last_pfn = 0x80000 max_arch_pfn = 0x400000000
[    0.000000] e820: [mem 0x80000000-0xffffffff] available for PCI devices




soccerl@ubuntu:~$ dmesg | grep user
[    0.000000] e820: user-defined physical RAM map:
[    0.000000] user: [mem 0x0000000000000000-0x000000000009ffff] usable
[    0.000000] user: [mem 0x00000000000c0000-0x00000000000fffff] reserved
[    0.000000] user: [mem 0x0000000000100000-0x000000000fffffff] usable
[    0.000000] user: [mem 0x0000000010000000-0x000000001fffffff] persistent 
(type 12)  <-------- this shows  the memmap works as expected
[    0.000000] user: [mem 0x0000000020000000-0x000000007eeecfff] usable
[    0.000000] user: [mem 0x000000007eeed000-0x000000007eef1fff] ACPI data
[    0.000000] user: [mem 0x000000007eef2000-0x000000007ef1afff] reserved
[    0.000000] user: [mem 0x000000007ef1b000-0x000000007ff9afff] usable
[    0.000000] user: [mem 0x000000007ff9b000-0x000000007ffb6fff] reserved
[    0.000000] user: [mem 0x000000007ffb7000-0x000000007ffb8fff] type 20
[    0.000000] user: [mem 0x000000007ffb9000-0x000000007ffbafff] reserved
[    0.000000] user: [mem 0x000000007ffbb000-0x000000007ffbbfff] type 20
[    0.000000] user: [mem 0x000000007ffbc000-0x000000007ffbdfff] reserved
[    0.000000] user: [mem 0x000000007ffbe000-0x000000007ffbefff] type 20
[    0.000000] user: [mem 0x000000007ffbf000-0x000000007ffc0fff] reserved
[    0.000000] user: [mem 0x000000007ffc1000-0x000000007ffc1fff] type 20
[    0.000000] user: [mem 0x000000007ffc2000-0x000000007ffc3fff] reserved
[    0.000000] user: [mem 0x000000007ffc4000-0x000000007ffc5fff] type 20
[    0.000000] user: [mem 0x000000007ffc6000-0x000000007ffc7fff] reserved
[    0.000000] user: [mem 0x000000007ffc8000-0x000000007ffc8fff] type 20
[    0.000000] user: [mem 0x000000007ffc9000-0x000000007fff2fff] reserved
[    0.000000] user: [mem 0x000000007fff3000-0x000000007fffafff] ACPI data
[    0.000000] user: [mem 0x000000007fffb000-0x000000007fffefff] ACPI NVS
[    0.000000] user: [mem 0x000000007ffff000-0x000000007fffffff] usable




However,  I could not find any Persistent Memory (legacy) from the iomem output.


I was expecting something like 



10000000-1fffffff : Persistent Memory (legacy)


soccerl@ubuntu:~$
soccerl@ubuntu:~$ cat /proc/iomem
00000000-00000000 : reserved
00000000-00000000 : System RAM
00000000-00000000 : reserved
  00000000-00000000 : System ROM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : ACPI Tables
00000000-00000000 : System RAM
00000000-00000000 : reserved
00000000-00000000 : reserved
00000000-00000000 : reserved
00000000-00000000 : reserved
00000000-00000000 : reserved
00000000-00000000 : reserved
00000000-00000000 : ACPI Tables
00000000-00000000 : ACPI Non-volatile Storage
00000000-00000000 : System RAM
00000000-00000000 : 5620e0c7-8062-4dce-aeb7-520c7ef76171
00000000-00000000 : PNP0003:00
00000000-00000000 : Local APIC
  00000000-00000000 : PNP0003:00
soccerl@ubuntu:~$





I do have the following kernel config flags set





CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_BLK_DEV_PMEM=m
CONFIG_LIBNVDIMM=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_FS_DAX=y
CONFIG_BLK_DEV_RAM_DAX=y


Any idea on what I might have missed?


Thanks
Soccer


soccerl@ubuntu:~/linux$ grep -nr ARCH_HAS_PMEM_API
include/config/auto.conf:1664:CONFIG_ARCH_HAS_PMEM_API=y
include/generated/autoconf.h:1666:#define CONFIG_ARCH_HAS_PMEM_API 1
include/linux/pmem.h:19:#ifdef CONFIG_ARCH_HAS_PMEM_API
include/linux/pmem.h:65:        return IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API);
carch/x86/include/asm/pmem.h:21:#ifdef CONFIG_ARCH_HAS_PMEM_API
arch/x86/include/asm/pmem.h:120:#endif /* CONFIG_ARCH_HAS_PMEM_API */           
                                                                                
                                                                 ^C
soccerl@ubuntu:~/linux$ grep -nr BLK_DEV_PMEM
Binary file 
.git/objects/pack/pack-abb253f9f14e0a418077c5478ffad5218cbbaf23.pack matches
include/config/tristate.conf:3995:CONFIG_BLK_DEV_PMEM=Y
include/config/auto.conf:5771:CONFIG_BLK_DEV_PMEM=y
include/generated/autoconf.h:5773:#define CONFIG_BLK_DEV_PMEM 1
^C
soccerl@ubuntu:~/linux$ grep -nr _LIBNVDIMM
include/config/tristate.conf:1918:CONFIG_LIBNVDIMM=Y
include/config/auto.conf:2778:CONFIG_LIBNVDIMM=y
include/generated/autoconf.h:2780:#define CONFIG_LIBNVDIMM 1
include/linux/libnvdimm.h:15:#ifndef __LIBNVDIMM_H__
include/linux/libnvdimm.h:16:#define __LIBNVDIMM_H__
include/linux/libnvdimm.h:163:#endif /* __LIBNVDIMM_H__ */
^C
soccerl@ubuntu:~/linux$ grep -nr X86_PMEM_LEGACY
include/config/tristate.conf:4535:CONFIG_X86_PMEM_LEGACY=Y
include/config/auto.conf:5502:CONFIG_X86_PMEM_LEGACY_DEVICE=y
include/config/auto.conf:6569:CONFIG_X86_PMEM_LEGACY=y
include/generated/autoconf.h:5504:#define CONFIG_X86_PMEM_LEGACY_DEVICE 1
include/generated/autoconf.h:6571:#define CONFIG_X86_PMEM_LEGACY 1
^C
soccerl@ubuntu:~/linux$ grep -nr FS_DAX
Binary file 
.git/objects/pack/pack-abb253f9f14e0a418077c5478ffad5218cbbaf23.pack matches
include/config/auto.conf:5459:CONFIG_FS_DAX=y
include/config/auto.conf:6437:CONFIG_FS_DAX_PMD=y
include/generated/autoconf.h:5461:#define CONFIG_FS_DAX 1
include/generated/autoconf.h:6439:#define CONFIG_FS_DAX_PMD 1
^C
soccerl@ubuntu:~/linux$ grep -nr BLK_DEV_RAM_DAX
include/config/auto.conf:727:CONFIG_BLK_DEV_RAM_DAX=y
include/generated/autoconf.h:729:#define CONFIG_BLK_DEV_RAM_DAX 1
arch/powerpc/configs/mpc512x_defconfig:55:CONFIG_BLK_DEV_RAM_DAX=y

_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to