Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/cddl/osnet/dev/fbt/aarch64 Switch from db_write_byt...
details: https://anonhg.NetBSD.org/src/rev/8f6ea67b1168
branches: trunk
changeset: 744750:8f6ea67b1168
user: riastradh <riastradh%NetBSD.org@localhost>
date: Wed Feb 12 06:05:31 2020 +0000
description:
Switch from db_write_bytes to using direct-mapping.
This way there's no dependency on ddb.
diffstat:
external/cddl/osnet/dev/fbt/aarch64/fbt_isa.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diffs (31 lines):
diff -r bee022498d2e -r 8f6ea67b1168 external/cddl/osnet/dev/fbt/aarch64/fbt_isa.c
--- a/external/cddl/osnet/dev/fbt/aarch64/fbt_isa.c Wed Feb 12 06:05:23 2020 +0000
+++ b/external/cddl/osnet/dev/fbt/aarch64/fbt_isa.c Wed Feb 12 06:05:31 2020 +0000
@@ -37,7 +37,9 @@
#include <sys/module.h>
#include <sys/kmem.h>
-#include <ddb/ddb.h>
+#include <uvm/uvm_extern.h>
+
+#include <dev/mm.h>
#include <machine/cpufunc.h>
@@ -92,9 +94,14 @@
void
fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val)
{
+ paddr_t pa;
+ vaddr_t va;
- db_write_bytes((db_addr_t)fbt->fbtp_patchpoint, sizeof(val),
- (const void *)&val);
+ if (!pmap_extract(pmap_kernel(), (vaddr_t)fbt->fbtp_patchpoint, &pa))
+ return;
+ if (!mm_md_direct_mapped_phys(pa, &va))
+ return;
+ *(fbt_patchval_t *)va = val;
cpu_icache_sync_range((vm_offset_t)fbt->fbtp_patchpoint, sizeof(val));
}
Home |
Main Index |
Thread Index |
Old Index