All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boaz Harrosh <boaz@plexistor.com>
To: Ingo Molnar <mingo@redhat.com>,
	x86@kernel.org, linux-kernel <linux-kernel@vger.kernel.org>,
	"Roger C. Pao" <rcpao.enmotus@gmail.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-nvdimm <linux-nvdimm@lists.01.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Matthew Wilcox <willy@linux.intel.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Christoph Hellwig <hch@infradead.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Subject: [PATCH 3/3] e820: Add the unknown-12 Memory type (DDR3-NvDIMM)
Date: Thu, 05 Mar 2015 12:24:17 +0200	[thread overview]
Message-ID: <54F82ED1.8030900@plexistor.com> (raw)
In-Reply-To: <54F82CE0.4040502@plexistor.com>


There are multiple vendors of DDR3 NvDIMMs out in the market today.
At various stages of development/production. It is estimated that
there are already more the 100ds of thousands chips sold to
testers and sites.

All the BIOS vendors I know of, tagged these chips at e820 table
as type-12 memory.

Now the ACPI comity, as far as I know, did not yet define a
standard type for NvDIMM. Also, as far as I know any NvDIMM
standard will only be defined for DDR4. So DDR3 NvDIMM is
probably stuck with this none STD type.

I Wish and call the ACPI comity to Define that NvDIMM is type-12.
Also for DDR4

The motivation of this patch is to be able to differentiate
this NvDIMM type from a real future "unknown-reserved" type.

In this patch I name type-12 "unknown-12". This is because of
ACPI politics that refuse to reserve type-12 as DDR3-NvDIMM
and members keep saying:
	"What if ACPI assigns type-12 for something else in future"

[And I say: Then just don't. Please?]

Signed-off-by: Boaz Harrosh <boaz@plexistor.com>
---
 arch/x86/kernel/e820.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index c2f2da2..4bf574a 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -25,6 +25,11 @@
 #include <asm/proto.h>
 #include <asm/setup.h>
 
+/* These are nonstandard Memory types that we do not want in the exported
+ * header.
+ */
+#define E820_UNKNOWN_12 12	/* This is the unofficial DDR3-NVDIMM */
+
 /*
  * The e820 map is the map that gets modified e.g. with command line parameters
  * and that is also registered with modifications in the kernel resource tree
@@ -169,6 +174,9 @@ static void __init e820_print_type(u32 type)
 	case E820_UNUSABLE:
 		printk(KERN_CONT "unusable");
 		break;
+	case E820_UNKNOWN_12:
+		printk(KERN_CONT "unknown-12");
+		break;
 	default:
 		printk(KERN_CONT "type %u", type);
 		break;
@@ -928,6 +936,7 @@ static inline const char *e820_type_to_string(int e820_type)
 	case E820_NVS:	return "ACPI Non-volatile Storage";
 	case E820_UNUSABLE:	return "Unusable memory";
 	case E820_RESERVED:	return "reserved";
+	case E820_UNKNOWN_12:	return "unknown-12";
 	default:		return "reserved-unknown";
 	}
 }
-- 
1.9.3



WARNING: multiple messages have this Message-ID (diff)
From: Boaz Harrosh <boaz@plexistor.com>
To: Ingo Molnar <mingo@redhat.com>,
	x86@kernel.org, linux-kernel <linux-kernel@vger.kernel.org>,
	"Roger C. Pao" <rcpao.enmotus@gmail.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-nvdimm <linux-nvdimm@ml01.01.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Matthew Wilcox <willy@linux.intel.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Christoph Hellwig <hch@infradead.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Subject: [PATCH 3/3] e820: Add the unknown-12 Memory type (DDR3-NvDIMM)
Date: Thu, 05 Mar 2015 12:24:17 +0200	[thread overview]
Message-ID: <54F82ED1.8030900@plexistor.com> (raw)
In-Reply-To: <54F82CE0.4040502@plexistor.com>


There are multiple vendors of DDR3 NvDIMMs out in the market today.
At various stages of development/production. It is estimated that
there are already more the 100ds of thousands chips sold to
testers and sites.

All the BIOS vendors I know of, tagged these chips at e820 table
as type-12 memory.

Now the ACPI comity, as far as I know, did not yet define a
standard type for NvDIMM. Also, as far as I know any NvDIMM
standard will only be defined for DDR4. So DDR3 NvDIMM is
probably stuck with this none STD type.

I Wish and call the ACPI comity to Define that NvDIMM is type-12.
Also for DDR4

The motivation of this patch is to be able to differentiate
this NvDIMM type from a real future "unknown-reserved" type.

In this patch I name type-12 "unknown-12". This is because of
ACPI politics that refuse to reserve type-12 as DDR3-NvDIMM
and members keep saying:
	"What if ACPI assigns type-12 for something else in future"

[And I say: Then just don't. Please?]

Signed-off-by: Boaz Harrosh <boaz@plexistor.com>
---
 arch/x86/kernel/e820.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index c2f2da2..4bf574a 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -25,6 +25,11 @@
 #include <asm/proto.h>
 #include <asm/setup.h>
 
+/* These are nonstandard Memory types that we do not want in the exported
+ * header.
+ */
+#define E820_UNKNOWN_12 12	/* This is the unofficial DDR3-NVDIMM */
+
 /*
  * The e820 map is the map that gets modified e.g. with command line parameters
  * and that is also registered with modifications in the kernel resource tree
@@ -169,6 +174,9 @@ static void __init e820_print_type(u32 type)
 	case E820_UNUSABLE:
 		printk(KERN_CONT "unusable");
 		break;
+	case E820_UNKNOWN_12:
+		printk(KERN_CONT "unknown-12");
+		break;
 	default:
 		printk(KERN_CONT "type %u", type);
 		break;
@@ -928,6 +936,7 @@ static inline const char *e820_type_to_string(int e820_type)
 	case E820_NVS:	return "ACPI Non-volatile Storage";
 	case E820_UNUSABLE:	return "Unusable memory";
 	case E820_RESERVED:	return "reserved";
+	case E820_UNKNOWN_12:	return "unknown-12";
 	default:		return "reserved-unknown";
 	}
 }
-- 
1.9.3



  parent reply	other threads:[~2015-03-05 10:24 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-05 10:16 [PATCH 0/3 v5] e820: Fix handling of NvDIMM chips Boaz Harrosh
2015-03-05 10:16 ` Boaz Harrosh
2015-03-05 10:20 ` [PATCH 1/3] e820: Don't let unknown DIMM type come out BUSY Boaz Harrosh
2015-03-05 10:20   ` Boaz Harrosh
2015-03-05 20:41   ` Dan Williams
2015-03-05 20:41     ` Dan Williams
2015-03-09 10:54     ` Boaz Harrosh
2015-03-09 10:54       ` Boaz Harrosh
2015-03-05 10:21 ` [PATCH 2/3] resource: Add new flag IORESOURCE_MEM_WARN Boaz Harrosh
2015-03-05 10:21   ` Boaz Harrosh
2015-03-05 10:24 ` Boaz Harrosh [this message]
2015-03-05 10:24   ` [PATCH 3/3] e820: Add the unknown-12 Memory type (DDR3-NvDIMM) Boaz Harrosh
2015-03-05 20:56   ` Dan Williams
2015-03-05 20:56     ` Dan Williams
2015-03-05 23:09     ` Andy Lutomirski
2015-03-05 23:09       ` Andy Lutomirski
2015-03-09 12:10       ` Boaz Harrosh
2015-03-09 12:10         ` Boaz Harrosh
2015-03-10  5:11         ` joeyli
2015-03-10  5:11           ` joeyli
2015-03-10  8:56           ` Boaz Harrosh
2015-03-10  8:56             ` Boaz Harrosh
2015-03-10 13:19           ` Andy Lutomirski
2015-03-10 13:19             ` Andy Lutomirski
2015-03-09 11:19     ` Boaz Harrosh
2015-03-09 11:19       ` Boaz Harrosh
2015-03-09 14:44       ` Dan Williams
2015-03-09 14:44         ` Dan Williams
2015-03-09 15:14         ` Andy Lutomirski
2015-03-09 15:14           ` Andy Lutomirski
2015-03-09 15:17           ` Dan Williams
2015-03-09 15:17             ` Dan Williams
2015-03-10  8:47             ` Boaz Harrosh
2015-03-10  8:47               ` Boaz Harrosh
2015-03-05 10:32 ` [RFC 0/8] pmem: Submission of the Persistent memory block device Boaz Harrosh
2015-03-05 10:32   ` Boaz Harrosh
2015-03-05 11:55   ` [PATCH 1/8] pmem: Initial version of persistent memory driver Boaz Harrosh
2015-03-05 11:55     ` Boaz Harrosh
2015-03-05 20:35     ` Paul Bolle
2015-03-05 20:35       ` Paul Bolle
2015-03-05 23:03     ` Andy Lutomirski
2015-03-05 23:03       ` Andy Lutomirski
2015-03-09 12:20       ` Boaz Harrosh
2015-03-09 12:20         ` Boaz Harrosh
2015-03-18 18:06         ` Andy Lutomirski
2015-03-18 18:06           ` Andy Lutomirski
2015-03-26  4:00           ` Elliott, Robert (Server Storage)
2015-03-26  4:00             ` Elliott, Robert (Server Storage)
2015-03-26  7:51             ` Boaz Harrosh
2015-03-26  7:51               ` Boaz Harrosh
2015-03-26 21:31             ` Dave Chinner
2015-03-26 21:31               ` Dave Chinner
2015-03-18 17:43     ` Ross Zwisler
2015-03-18 17:43       ` Ross Zwisler
2015-03-19  9:24       ` Boaz Harrosh
2015-03-19  9:24         ` Boaz Harrosh
2015-03-20  0:11         ` Dan Williams
2015-03-20  0:11           ` Dan Williams
2015-03-05 11:55   ` [PATCH 2/8] pmem: KISS, remove register_blkdev Boaz Harrosh
2015-03-05 11:55     ` Boaz Harrosh
2015-03-05 11:56   ` [PATCH 3/8] pmem: Add support for rw_page() Boaz Harrosh
2015-03-05 11:56     ` Boaz Harrosh
2015-03-05 11:57   ` [PATCH 4/8] pmem: Add support for direct_access() Boaz Harrosh
2015-03-05 11:57     ` Boaz Harrosh
2015-03-05 11:58   ` [PATCH 5/8] mm: Let sparse_{add,remove}_one_section receive a node_id Boaz Harrosh
2015-03-05 11:58     ` Boaz Harrosh
2015-03-06 18:43     ` Ross Zwisler
2015-03-06 18:43       ` Ross Zwisler
2015-03-05 11:59   ` [PATCH 6/8] mm: New add_persistent_memory/remove_persistent_memory Boaz Harrosh
2015-03-05 11:59     ` Boaz Harrosh
2015-03-05 11:59   ` [PATCH 7/8] pmem: Add support for page structs Boaz Harrosh
2015-03-05 11:59     ` Boaz Harrosh
2015-03-23 20:59     ` Dan Williams
2015-03-23 20:59       ` Dan Williams
2015-03-05 12:01   ` [PATCH 8/8] OUT-OF-TREE: pmem: Allow request_mem to fail (BLK_DEV_PMEM_IGNORE_REQUEST_MEM_RET) Boaz Harrosh
2015-03-05 12:01     ` Boaz Harrosh
2015-03-06 18:37   ` [RFC 0/8] pmem: Submission of the Persistent memory block device Ross Zwisler
2015-03-06 18:37     ` Ross Zwisler
2015-03-07  1:39     ` Christoph Hellwig
2015-03-09 12:41     ` Boaz Harrosh
2015-03-09 12:41       ` Boaz Harrosh
2015-03-05 22:48 ` [PATCH 0/3 v5] e820: Fix handling of NvDIMM chips H. Peter Anvin
2015-03-05 23:06   ` Andy Lutomirski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F82ED1.8030900@plexistor.com \
    --to=boaz@plexistor.com \
    --cc=dan.j.williams@intel.com \
    --cc=hch@infradead.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=rcpao.enmotus@gmail.com \
    --cc=ross.zwisler@linux.intel.com \
    --cc=tglx@linutronix.de \
    --cc=willy@linux.intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.