Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F146410381
D21945.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D21945.id.diff
View Options
Index: head/lib/libkvm/kvm.h
===================================================================
--- head/lib/libkvm/kvm.h
+++ head/lib/libkvm/kvm.h
@@ -82,18 +82,18 @@
};
struct kvm_page {
- unsigned int version;
- u_long paddr;
- u_long kmap_vaddr;
- u_long dmap_vaddr;
- vm_prot_t prot;
- u_long offset;
- size_t len;
- /* end of version 1 */
+ u_int kp_version;
+ kpaddr_t kp_paddr;
+ kvaddr_t kp_kmap_vaddr;
+ kvaddr_t kp_dmap_vaddr;
+ vm_prot_t kp_prot;
+ off_t kp_offset;
+ size_t kp_len;
+ /* end of version 2 */
};
#define SWIF_DEV_PREFIX 0x0002
-#define LIBKVM_WALK_PAGES_VERSION 1
+#define LIBKVM_WALK_PAGES_VERSION 2
__BEGIN_DECLS
int kvm_close(kvm_t *);
Index: head/lib/libkvm/kvm_private.c
===================================================================
--- head/lib/libkvm/kvm_private.c
+++ head/lib/libkvm/kvm_private.c
@@ -755,13 +755,13 @@
{
unsigned int pgsz = page_size ? page_size : len;
struct kvm_page p = {
- .version = LIBKVM_WALK_PAGES_VERSION,
- .paddr = pa,
- .kmap_vaddr = kmap_vaddr,
- .dmap_vaddr = dmap_vaddr,
- .prot = prot,
- .offset = _kvm_pt_find(kd, pa, pgsz),
- .len = len,
+ .kp_version = LIBKVM_WALK_PAGES_VERSION,
+ .kp_paddr = pa,
+ .kp_kmap_vaddr = kmap_vaddr,
+ .kp_dmap_vaddr = dmap_vaddr,
+ .kp_prot = prot,
+ .kp_offset = _kvm_pt_find(kd, pa, pgsz),
+ .kp_len = len,
};
return cb(&p, arg);
Index: head/sys/sys/types.h
===================================================================
--- head/sys/sys/types.h
+++ head/sys/sys/types.h
@@ -252,11 +252,12 @@
#endif
/*
- * Types suitable for exporting size and pointers (as virtual addresses)
- * from the kernel independent of native word size. These should be
- * used in place of size_t and (u)intptr_t in structs which contain such
- * types that are shared with userspace.
+ * Types suitable for exporting physical addresses, virtual addresses
+ * (pointers), and memory object sizes from the kernel independent of native
+ * word size. These should be used in place of vm_paddr_t, (u)intptr_t, and
+ * size_t in structs which contain such types that are shared with userspace.
*/
+typedef __uint64_t kpaddr_t;
typedef __uint64_t kvaddr_t;
typedef __uint64_t ksize_t;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Mar 3, 11:32 AM (2 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29198111
Default Alt Text
D21945.id.diff (2 KB)
Attached To
Mode
D21945: kvm: fix types for `kvm_walk_pages`
Attached
Detach File
Event Timeline
Log In to Comment