xref: /dragonfly/sys/platform/pc64/x86_64/uwrapper.c (revision bb8c85ff)
1 #include <sys/systm.h>
2 #include <sys/thread.h>
3 #include <sys/types.h>
4 #include <sys/proc.h>
5 
6 #include <vm/vm_map.h>
7 
8 int
9 copyinstr(const void *udaddr, void *kaddr, size_t len, size_t *res)
10 {
11 	return curthread->td_proc->p_vmspace->vm_pmap.copyinstr(udaddr, kaddr, len, res);
12 }
13 
14  int
15 copyin(const void *udaddr, void *kaddr, size_t len)
16 {
17 	return curthread->td_proc->p_vmspace->vm_pmap.copyin(udaddr, kaddr, len);
18 }
19 
20 int
21 copyout(const void *kaddr, void *udaddr, size_t len)
22 {
23 	return curthread->td_proc->p_vmspace->vm_pmap.copyout(kaddr, udaddr, len);
24 
25 }
26 
27 int
28 fubyte(const uint8_t *base)
29 {
30 	return curthread->td_proc->p_vmspace->vm_pmap.fubyte(base);
31 }
32 
33 int
34 subyte(uint8_t *base, uint8_t byte)
35 {
36 	return curthread->td_proc->p_vmspace->vm_pmap.subyte(base, byte);
37 }
38 
39 int32_t
40 fuword32(const uint32_t *base)
41 {
42 	return curthread->td_proc->p_vmspace->vm_pmap.fuword32(base);
43 }
44 
45 int64_t
46 fuword64(const uint64_t *base)
47 {
48 	return curthread->td_proc->p_vmspace->vm_pmap.fuword64(base);
49 }
50 
51 int
52 suword64(uint64_t *base, uint64_t word)
53 {
54 	return curthread->td_proc->p_vmspace->vm_pmap.suword64(base, word);
55 }
56 
57 int
58 suword32(uint32_t *base, int word)
59 {
60 	return curthread->td_proc->p_vmspace->vm_pmap.suword32(base, word);
61 }
62 
63 uint32_t
64 swapu32(volatile uint32_t *base, uint32_t v)
65 {
66 	return curthread->td_proc->p_vmspace->vm_pmap.swapu32(base, v);
67 }
68 
69 uint64_t
70 swapu64(volatile uint64_t *base, uint64_t v)
71 {
72 	return curthread->td_proc->p_vmspace->vm_pmap.swapu64(base, v);
73 }
74