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
 };
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to