|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [patch] respect memory attributes for EFI_RUNTIME memory
Hi, The code in complete_dom0_memmap() was overly simplified pretending all EFI_RUNTIME memory was writable and cachable. Xen must respect the EFI memory attributes correctly when assigning these pages. This one should be against Alex's tree, but it also applies with a minor modification to Isaku's NUMA patches. Alex, I'd appreciate it if you apply this one, it's important for sn2. Thanks, Jes Respect memory attributes when mapping EFI_RUNTIME and reserved pages.
Not all of these pages are writable and/or cachable!
Signed-off-by: Jes Sorensen <jes@xxxxxxx>
diff -r 533e06b4151c xen/arch/ia64/xen/dom_fw.c
--- a/xen/arch/ia64/xen/dom_fw.c Fri Dec 29 14:28:10 2006 +0100
+++ b/xen/arch/ia64/xen/dom_fw.c Fri Dec 29 16:23:21 2006 +0100
@@ -516,10 +516,11 @@ complete_dom0_memmap(struct domain *d,
{
efi_memory_desc_t *md;
u64 addr;
int j;
void *efi_map_start, *efi_map_end, *p;
u64 efi_desc_size;
int i;
+ unsigned long flags;
/* Walk through all MDT entries.
Copy all interesting entries. */
@@ -540,9 +541,19 @@ complete_dom0_memmap(struct domain *d,
case EFI_ACPI_RECLAIM_MEMORY:
case EFI_ACPI_MEMORY_NVS:
case EFI_RESERVED_TYPE:
- /* Map into dom0 - All these are writable. */
- assign_domain_mach_page(d, start, size,
- ASSIGN_writable);
+ /*
+ * Map into dom0 - we must respect protection
+ * and cache attributes. Not all of these pages
+ * are writable!!!
+ */
+ flags = ASSIGN_writable; /* dummy - zero */
+ if (md->attribute & EFI_MEMORY_WP)
+ flags |= ASSIGN_readonly;
+ if (md->attribute & EFI_MEMORY_UC)
+ flags |= ASSIGN_nocache;
+
+ assign_domain_mach_page(d, start, size, flags);
+
/* Fall-through. */
case EFI_MEMORY_MAPPED_IO:
/* Will be mapped with ioremap. */
_______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |