Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Jul 2016 09:15:11 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r303261 - in head/sys: amd64/amd64 amd64/include/pc arm/arm arm64/arm64 i386/include/pc sys
Message-ID:  <201607240915.u6O9FBk2093286@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Sun Jul 24 09:15:11 2016
New Revision: 303261
URL: https://svnweb.freebsd.org/changeset/base/303261

Log:
  Add more UEFI/e820 memory types from latest specifications.
  
  This is only cosmetics.
  
  MFC after:	2 weeks

Modified:
  head/sys/amd64/amd64/machdep.c
  head/sys/amd64/include/pc/bios.h
  head/sys/arm/arm/machdep.c
  head/sys/arm64/arm64/machdep.c
  head/sys/i386/include/pc/bios.h
  head/sys/sys/efi.h

Modified: head/sys/amd64/amd64/machdep.c
==============================================================================
--- head/sys/amd64/amd64/machdep.c	Sun Jul 24 09:00:16 2016	(r303260)
+++ head/sys/amd64/amd64/machdep.c	Sun Jul 24 09:15:11 2016	(r303261)
@@ -1090,7 +1090,8 @@ add_efi_map_entries(struct efi_map_heade
 		"ACPIMemoryNVS",
 		"MemoryMappedIO",
 		"MemoryMappedIOPortSpace",
-		"PalCode"
+		"PalCode",
+		"PersistentMemory"
 	};
 
 	/*
@@ -1111,7 +1112,7 @@ add_efi_map_entries(struct efi_map_heade
 	for (i = 0, p = map; i < ndesc; i++,
 	    p = efi_next_descriptor(p, efihdr->descriptor_size)) {
 		if (boothowto & RB_VERBOSE) {
-			if (p->md_type <= EFI_MD_TYPE_PALCODE)
+			if (p->md_type < nitems(types))
 				type = types[p->md_type];
 			else
 				type = "<INVALID>";
@@ -1133,6 +1134,12 @@ add_efi_map_entries(struct efi_map_heade
 				printf("RP ");
 			if (p->md_attr & EFI_MD_ATTR_XP)
 				printf("XP ");
+			if (p->md_attr & EFI_MD_ATTR_NV)
+				printf("NV ");
+			if (p->md_attr & EFI_MD_ATTR_MORE_RELIABLE)
+				printf("MORE_RELIABLE ");
+			if (p->md_attr & EFI_MD_ATTR_RO)
+				printf("RO ");
 			if (p->md_attr & EFI_MD_ATTR_RT)
 				printf("RUNTIME");
 			printf("\n");

Modified: head/sys/amd64/include/pc/bios.h
==============================================================================
--- head/sys/amd64/include/pc/bios.h	Sun Jul 24 09:00:16 2016	(r303260)
+++ head/sys/amd64/include/pc/bios.h	Sun Jul 24 09:15:11 2016	(r303261)
@@ -40,6 +40,9 @@
 #define	SMAP_TYPE_ACPI_RECLAIM	3
 #define	SMAP_TYPE_ACPI_NVS	4
 #define	SMAP_TYPE_ACPI_ERROR	5
+#define	SMAP_TYPE_DISABLED	6
+#define	SMAP_TYPE_PMEM		7
+#define	SMAP_TYPE_PRAM		12
 
 #define	SMAP_XATTR_ENABLED	0x00000001
 #define	SMAP_XATTR_NON_VOLATILE	0x00000002

Modified: head/sys/arm/arm/machdep.c
==============================================================================
--- head/sys/arm/arm/machdep.c	Sun Jul 24 09:00:16 2016	(r303260)
+++ head/sys/arm/arm/machdep.c	Sun Jul 24 09:15:11 2016	(r303261)
@@ -1424,7 +1424,8 @@ add_efi_map_entries(struct efi_map_heade
 		"ACPIMemoryNVS",
 		"MemoryMappedIO",
 		"MemoryMappedIOPortSpace",
-		"PalCode"
+		"PalCode",
+		"PersistentMemory"
 	};
 
 	*mrcnt = 0;
@@ -1448,7 +1449,7 @@ add_efi_map_entries(struct efi_map_heade
 	for (i = 0, j = 0, p = map; i < ndesc; i++,
 	    p = efi_next_descriptor(p, efihdr->descriptor_size)) {
 		if (boothowto & RB_VERBOSE) {
-			if (p->md_type <= EFI_MD_TYPE_PALCODE)
+			if (p->md_type < nitems(types))
 				type = types[p->md_type];
 			else
 				type = "<INVALID>";
@@ -1470,6 +1471,12 @@ add_efi_map_entries(struct efi_map_heade
 				printf("RP ");
 			if (p->md_attr & EFI_MD_ATTR_XP)
 				printf("XP ");
+			if (p->md_attr & EFI_MD_ATTR_NV)
+				printf("NV ");
+			if (p->md_attr & EFI_MD_ATTR_MORE_RELIABLE)
+				printf("MORE_RELIABLE ");
+			if (p->md_attr & EFI_MD_ATTR_RO)
+				printf("RO ");
 			if (p->md_attr & EFI_MD_ATTR_RT)
 				printf("RUNTIME");
 			printf("\n");

Modified: head/sys/arm64/arm64/machdep.c
==============================================================================
--- head/sys/arm64/arm64/machdep.c	Sun Jul 24 09:00:16 2016	(r303260)
+++ head/sys/arm64/arm64/machdep.c	Sun Jul 24 09:15:11 2016	(r303261)
@@ -707,7 +707,8 @@ add_efi_map_entries(struct efi_map_heade
 		"ACPIMemoryNVS",
 		"MemoryMappedIO",
 		"MemoryMappedIOPortSpace",
-		"PalCode"
+		"PalCode",
+		"PersistentMemory"
 	};
 
 	/*
@@ -728,7 +729,7 @@ add_efi_map_entries(struct efi_map_heade
 	for (i = 0, p = map; i < ndesc; i++,
 	    p = efi_next_descriptor(p, efihdr->descriptor_size)) {
 		if (boothowto & RB_VERBOSE) {
-			if (p->md_type <= EFI_MD_TYPE_PALCODE)
+			if (p->md_type < nitems(types))
 				type = types[p->md_type];
 			else
 				type = "<INVALID>";
@@ -750,6 +751,12 @@ add_efi_map_entries(struct efi_map_heade
 				printf("RP ");
 			if (p->md_attr & EFI_MD_ATTR_XP)
 				printf("XP ");
+			if (p->md_attr & EFI_MD_ATTR_NV)
+				printf("NV ");
+			if (p->md_attr & EFI_MD_ATTR_MORE_RELIABLE)
+				printf("MORE_RELIABLE ");
+			if (p->md_attr & EFI_MD_ATTR_RO)
+				printf("RO ");
 			if (p->md_attr & EFI_MD_ATTR_RT)
 				printf("RUNTIME");
 			printf("\n");

Modified: head/sys/i386/include/pc/bios.h
==============================================================================
--- head/sys/i386/include/pc/bios.h	Sun Jul 24 09:00:16 2016	(r303260)
+++ head/sys/i386/include/pc/bios.h	Sun Jul 24 09:15:11 2016	(r303261)
@@ -210,6 +210,9 @@ struct PIR_table 
 #define	SMAP_TYPE_ACPI_RECLAIM	3
 #define	SMAP_TYPE_ACPI_NVS	4
 #define	SMAP_TYPE_ACPI_ERROR	5
+#define	SMAP_TYPE_DISABLED	6
+#define	SMAP_TYPE_PMEM		7
+#define	SMAP_TYPE_PRAM		12
 
 #define	SMAP_XATTR_ENABLED	0x00000001
 #define	SMAP_XATTR_NON_VOLATILE	0x00000002

Modified: head/sys/sys/efi.h
==============================================================================
--- head/sys/sys/efi.h	Sun Jul 24 09:00:16 2016	(r303260)
+++ head/sys/sys/efi.h	Sun Jul 24 09:15:11 2016	(r303261)
@@ -69,6 +69,7 @@ struct efi_md {
 #define	EFI_MD_TYPE_IOMEM	11	/* Memory-mapped I/O. */
 #define	EFI_MD_TYPE_IOPORT	12	/* I/O port space. */
 #define	EFI_MD_TYPE_PALCODE	13	/* PAL */
+#define	EFI_MD_TYPE_PERSISTENT	14	/* Persistent memory. */
 	uint32_t	__pad;
 	uint64_t	md_phys;
 	void		*md_virt;
@@ -82,6 +83,10 @@ struct efi_md {
 #define	EFI_MD_ATTR_WP		0x0000000000001000UL
 #define	EFI_MD_ATTR_RP		0x0000000000002000UL
 #define	EFI_MD_ATTR_XP		0x0000000000004000UL
+#define	EFI_MD_ATTR_NV		0x0000000000008000UL
+#define	EFI_MD_ATTR_MORE_RELIABLE \
+				0x0000000000010000UL
+#define	EFI_MD_ATTR_RO		0x0000000000020000UL
 #define	EFI_MD_ATTR_RT		0x8000000000000000UL
 };
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607240915.u6O9FBk2093286>