Page MenuHomeFreeBSD

D34858.diff
No OneTemporary

D34858.diff

diff --git a/sys/arm64/arm64/efirt_machdep.c b/sys/arm64/arm64/efirt_machdep.c
--- a/sys/arm64/arm64/efirt_machdep.c
+++ b/sys/arm64/arm64/efirt_machdep.c
@@ -150,10 +150,17 @@
vm_offset_t
efi_phys_to_kva(vm_paddr_t paddr)
{
+ vm_offset_t vaddr;
- if (!PHYS_IN_DMAP(paddr))
- return (0);
- return (PHYS_TO_DMAP(paddr));
+ if (PHYS_IN_DMAP(paddr)) {
+ vaddr = PHYS_TO_DMAP(paddr);
+ if (pmap_klookup(vaddr, NULL))
+ return (vaddr);
+ }
+
+ /* TODO: Map memory not in the DMAP */
+
+ return (0);
}
/*

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 19, 4:41 PM (21 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16724131
Default Alt Text
D34858.diff (514 B)

Event Timeline