* No Persistent Memory (legacy) even persistent (type 12) was found [not found] <31922059.1436799.1485417418342.ref@mail.yahoo.com> @ 2017-01-26 7:56 ` Soccer Liu 2017-01-26 23:34 ` Ross Zwisler 0 siblings, 1 reply; 3+ messages in thread From: Soccer Liu @ 2017-01-26 7:56 UTC (permalink / raw) To: linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org 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 Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: No Persistent Memory (legacy) even persistent (type 12) was found 2017-01-26 7:56 ` No Persistent Memory (legacy) even persistent (type 12) was found Soccer Liu @ 2017-01-26 23:34 ` Ross Zwisler [not found] ` <20170126233402.GA6659-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Ross Zwisler @ 2017-01-26 23:34 UTC (permalink / raw) To: Soccer Liu; +Cc: linux-nvdimm@lists.01.org On Thu, Jan 26, 2017 at 07:56:58AM +0000, Soccer Liu wrote: > 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 This all looks fine. I ran my QEMU guest with this same reservation and it worked, so I don't think it's an issue with the size or placement of the reservation. > However, I could not find any Persistent Memory (legacy) from the iomem output. > I was expecting something like > 10000000-1fffffff : Persistent Memory (legacy) Yep, here are the lines in my guest: 10000000-1fffffff : Persistent Memory (legacy) 10000000-1fffffff : namespace0.0 > 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 Ummm...all the addresses are zero? I don't know what would cause this - a broken kconfig option? > 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? My best guess is that it's a missed kernel config option. Here are the relevant ones from my v4.9 config: $ egrep -i 'dax|pmem|nvdimm' .config CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=m CONFIG_BLK_DEV_RAM_DAX=y CONFIG_LIBNVDIMM=m CONFIG_BLK_DEV_PMEM=m CONFIG_NVDIMM_PFN=y CONFIG_NVDIMM_DAX=y CONFIG_DEV_DAX=m CONFIG_DEV_DAX_PMEM=m CONFIG_NR_DEV_DAX=32768 CONFIG_FS_DAX=y CONFIG_ARCH_HAS_PMEM_API=y The DEV_DAX ones won't matter, but I'd verify the rest of them and make sure they're set. Also, what kernel version are you using? - Ross _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <20170126233402.GA6659-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>]
* Re: No Persistent Memory (legacy) even persistent (type 12) was found [not found] ` <20170126233402.GA6659-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> @ 2017-01-27 1:35 ` Soccer Liu 0 siblings, 0 replies; 3+ messages in thread From: Soccer Liu @ 2017-01-27 1:35 UTC (permalink / raw) To: Ross Zwisler; +Cc: linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org Ross, Thanks for your reply.Here is the kernel information root@ubuntu:/home/soccerl/linux# make kernelversion 4.10.0-rc3 root@ubuntu:/home/soccerl/linux# uname -a Linux ubuntu 4.10.0-rc3+ #4 SMP Wed Jan 25 22:51:07 PST 2017 x86_64 x86_64 x86_64 GNU/Linux root@ubuntu:/home/soccerl/Linux#// NVDIMM related flags used in my build environment root@ubuntu:/home/soccerl/linux# egrep -i 'dax|pmem|nvdimm' .config CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=y CONFIG_BLK_DEV_RAM_DAX=y CONFIG_LIBNVDIMM=y CONFIG_BLK_DEV_PMEM=y CONFIG_NVDIMM_PFN=y CONFIG_NVDIMM_DAX=y CONFIG_DEV_DAX=y CONFIG_DEV_DAX_PMEM=m CONFIG_NR_DEV_DAX=32768 CONFIG_FS_DAX=y CONFIG_FS_DAX_PMD=y CONFIG_ARCH_HAS_PMEM_API=y For the addresses zeros, I found it only happens some boot instances. Here is one instance of non-zero iomem that I got after I reboot my linux box.root@ubuntu:~# cat /proc/iomem 00000000-00000fff : reserved 00001000-0009ffff : System RAM 000c0000-000fffff : reserved 000f0000-000fffff : System ROM 00100000-0fffffff : System RAM 01000000-018a7718 : Kernel code 018a7719-01f6db7f : Kernel data 02101000-02241fff : Kernel bss ----------à I expect a Persistent Memory (legacy) range here, but it’s nowhere to be found. 20000000-7eeecfff : System RAM 7eeed000-7eef1fff : ACPI Tables 7ef1b000-7ff9afff : System RAM 7ffb7000-7ffb8fff : reserved 7ffbb000-7ffbbfff : reserved 7ffbe000-7ffbefff : reserved 7ffc1000-7ffc1fff : reserved 7ffc4000-7ffc5fff : reserved 7ffc8000-7ffc8fff : reserved 7fff3000-7fffafff : ACPI Tables 7fffb000-7fffefff : ACPI Non-volatile Storage 7ffff000-7fffffff : System RAM f8800000-f8ffffff : 5620e0c7-8062-4dce-aeb7-520c7ef76171 fec00000-fec00fff : PNP0003:00 fee00000-fee00fff : Local APIC fee00000-fee00fff : PNP0003:00 root@ubuntu:~#By the way, this is a Linux VM on Hyper-V, I am not sure it that make any difference. ThanksSoccer On Thursday, January 26, 2017 3:34 PM, Ross Zwisler <ross.zwisler@linux.intel.com> wrote: On Thu, Jan 26, 2017 at 07:56:58AM +0000, Soccer Liu wrote: > 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 This all looks fine. I ran my QEMU guest with this same reservation and it worked, so I don't think it's an issue with the size or placement of the reservation. > However, I could not find any Persistent Memory (legacy) from the iomem output. > I was expecting something like > 10000000-1fffffff : Persistent Memory (legacy) Yep, here are the lines in my guest: 10000000-1fffffff : Persistent Memory (legacy) 10000000-1fffffff : namespace0.0 > 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 Ummm...all the addresses are zero? I don't know what would cause this - a broken kconfig option? > 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? My best guess is that it's a missed kernel config option. Here are the relevant ones from my v4.9 config: $ egrep -i 'dax|pmem|nvdimm' .config CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=m CONFIG_BLK_DEV_RAM_DAX=y CONFIG_LIBNVDIMM=m CONFIG_BLK_DEV_PMEM=m CONFIG_NVDIMM_PFN=y CONFIG_NVDIMM_DAX=y CONFIG_DEV_DAX=m CONFIG_DEV_DAX_PMEM=m CONFIG_NR_DEV_DAX=32768 CONFIG_FS_DAX=y CONFIG_ARCH_HAS_PMEM_API=y The DEV_DAX ones won't matter, but I'd verify the rest of them and make sure they're set. Also, what kernel version are you using? - Ross _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-27 1:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <31922059.1436799.1485417418342.ref@mail.yahoo.com>
2017-01-26 7:56 ` No Persistent Memory (legacy) even persistent (type 12) was found Soccer Liu
2017-01-26 23:34 ` Ross Zwisler
[not found] ` <20170126233402.GA6659-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-01-27 1:35 ` Soccer Liu
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.