Handle persistent memory. Currently only debug output.
This commit is contained in:
parent
60b05b5f3b
commit
5acea1cb30
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: efimemory.c,v 1.3 2017/02/11 10:13:46 nonaka Exp $ */
|
||||
/* $NetBSD: efimemory.c,v 1.4 2017/02/14 13:29:09 nonaka Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2016 Kimihiro Nonaka <nonaka@netbsd.org>
|
||||
@ -35,7 +35,15 @@ static const char *memtypes[] = {
|
||||
"available",
|
||||
"reserved",
|
||||
"ACPI reclaimable",
|
||||
"ACPI NVS"
|
||||
"ACPI NVS",
|
||||
"unusable",
|
||||
"disabled",
|
||||
"Persistent",
|
||||
"undefined (8)",
|
||||
"undefined (9)",
|
||||
"undefined (10)",
|
||||
"undefined (11)",
|
||||
"Persistent (Legacy)"
|
||||
};
|
||||
|
||||
static const char *efimemtypes[] = {
|
||||
@ -53,6 +61,7 @@ static const char *efimemtypes[] = {
|
||||
"MemoryMappedIO",
|
||||
"MemoryMappedIOPortSpace",
|
||||
"PalCode",
|
||||
"PersistentMemory",
|
||||
};
|
||||
|
||||
static int
|
||||
@ -74,6 +83,9 @@ getmemtype(EFI_MEMORY_DESCRIPTOR *md)
|
||||
case EfiACPIMemoryNVS:
|
||||
return BIM_NVS;
|
||||
|
||||
case EfiPersistentMemory:
|
||||
return BIM_PMEM;
|
||||
|
||||
case EfiReservedMemoryType:
|
||||
case EfiRuntimeServicesCode:
|
||||
case EfiRuntimeServicesData:
|
||||
@ -82,9 +94,9 @@ getmemtype(EFI_MEMORY_DESCRIPTOR *md)
|
||||
case EfiMemoryMappedIOPortSpace:
|
||||
case EfiPalCode:
|
||||
case EfiMaxMemoryType:
|
||||
default:
|
||||
return BIM_Reserved;
|
||||
}
|
||||
return BIM_Reserved;
|
||||
}
|
||||
|
||||
EFI_MEMORY_DESCRIPTOR *
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: acpi_machdep.c,v 1.17 2017/02/14 13:23:50 nonaka Exp $ */
|
||||
/* $NetBSD: acpi_machdep.c,v 1.18 2017/02/14 13:29:09 nonaka Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 2001 Wasabi Systems, Inc.
|
||||
@ -40,7 +40,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.17 2017/02/14 13:23:50 nonaka Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.18 2017/02/14 13:29:09 nonaka Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
@ -395,6 +395,8 @@ acpi_md_mcfg_validate(uint64_t addr, int bus_start, int *bus_end)
|
||||
(type == BIM_Reserved) ? "Reserved" :
|
||||
(type == BIM_ACPI) ? "ACPI" :
|
||||
(type == BIM_NVS) ? "NVS" :
|
||||
(type == BIM_PMEM) ? "Persistent" :
|
||||
(type == BIM_PRAM) ? "Persistent (Legacy)" :
|
||||
"unknown");
|
||||
|
||||
switch (type) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: efi.h,v 1.4 2017/02/14 13:23:50 nonaka Exp $ */
|
||||
/* $NetBSD: efi.h,v 1.5 2017/02/14 13:29:09 nonaka Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2004 Marcel Moolenaar
|
||||
@ -74,6 +74,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_PMEM 14 /* Persistent memory. */
|
||||
uint32_t __pad;
|
||||
uint64_t md_phys;
|
||||
uint64_t md_virt;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: efi.c,v 1.7 2017/02/14 13:23:50 nonaka Exp $ */
|
||||
/* $NetBSD: efi.c,v 1.8 2017/02/14 13:29:09 nonaka Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2016 The NetBSD Foundation, Inc.
|
||||
@ -27,7 +27,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: efi.c,v 1.7 2017/02/14 13:23:50 nonaka Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: efi.c,v 1.8 2017/02/14 13:29:09 nonaka Exp $");
|
||||
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/param.h>
|
||||
@ -320,6 +320,9 @@ efi_getbiosmemtype(uint32_t type, uint64_t attr)
|
||||
case EFI_MD_TYPE_FIRMWARE:
|
||||
return BIM_NVS;
|
||||
|
||||
case EFI_MD_TYPE_PMEM:
|
||||
return BIM_PMEM;
|
||||
|
||||
case EFI_MD_TYPE_NULL:
|
||||
case EFI_MD_TYPE_RT_CODE:
|
||||
case EFI_MD_TYPE_RT_DATA:
|
||||
@ -327,9 +330,9 @@ efi_getbiosmemtype(uint32_t type, uint64_t attr)
|
||||
case EFI_MD_TYPE_IOMEM:
|
||||
case EFI_MD_TYPE_IOPORT:
|
||||
case EFI_MD_TYPE_PALCODE:
|
||||
default:
|
||||
return BIM_Reserved;
|
||||
}
|
||||
return BIM_Reserved;
|
||||
}
|
||||
|
||||
const char *
|
||||
@ -350,6 +353,7 @@ efi_getmemtype_str(uint32_t type)
|
||||
"MemoryMappedIO",
|
||||
"MemoryMappedIOPortSpace",
|
||||
"PalCode",
|
||||
"PersistentMemory",
|
||||
};
|
||||
|
||||
if (type < __arraycount(efimemtypes))
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: x86_machdep.c,v 1.88 2017/02/14 13:23:50 nonaka Exp $ */
|
||||
/* $NetBSD: x86_machdep.c,v 1.89 2017/02/14 13:29:09 nonaka Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006, 2007 YAMAMOTO Takashi,
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.88 2017/02/14 13:23:50 nonaka Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.89 2017/02/14 13:29:09 nonaka Exp $");
|
||||
|
||||
#include "opt_modular.h"
|
||||
#include "opt_physmem.h"
|
||||
@ -658,6 +658,8 @@ x86_parse_clusters(struct btinfo_memmap *bim)
|
||||
(type == BIM_Reserved) ? "Reserved" :
|
||||
(type == BIM_ACPI) ? "ACPI" :
|
||||
(type == BIM_NVS) ? "NVS" :
|
||||
(type == BIM_PMEM) ? "Persistent" :
|
||||
(type == BIM_PRAM) ? "Persistent (Legacy)" :
|
||||
"unknown");
|
||||
#endif
|
||||
|
||||
|
3
sys/external/bsd/gnu-efi/dist/inc/efidef.h
vendored
3
sys/external/bsd/gnu-efi/dist/inc/efidef.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: efidef.h,v 1.1.1.1 2014/04/01 16:16:07 jakllsch Exp $ */
|
||||
/* $NetBSD: efidef.h,v 1.2 2017/02/14 13:29:09 nonaka Exp $ */
|
||||
|
||||
#ifndef _EFI_DEF_H
|
||||
#define _EFI_DEF_H
|
||||
@ -162,6 +162,7 @@ typedef enum {
|
||||
EfiMemoryMappedIO,
|
||||
EfiMemoryMappedIOPortSpace,
|
||||
EfiPalCode,
|
||||
EfiPersistentMemory,
|
||||
EfiMaxMemoryType
|
||||
} EFI_MEMORY_TYPE;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user