git.annexia.org
/
virt-mem.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update kerneldb.
[virt-mem.git]
/
extract
/
codegen
/
pahole_parser.mli
diff --git
a/extract/codegen/pahole_parser.mli
b/extract/codegen/pahole_parser.mli
index
60e5eb2
..
1bbd701
100644
(file)
--- a/
extract/codegen/pahole_parser.mli
+++ b/
extract/codegen/pahole_parser.mli
@@
-32,6
+32,8
@@
type pathname = string
(** Path and filenames. *)
type info = {
(** Path and filenames. *)
type info = {
+ kv_i : int; (** Each kernel is given a unique
+ number. *)
kernel_version : string; (** Kernel version that this matches. *)
arch : string; (** Architecture, eg. "i686", "ppc64". *)
basename : string; (** [basename.info] is the info
kernel_version : string; (** Kernel version that this matches. *)
arch : string; (** Architecture, eg. "i686", "ppc64". *)
basename : string; (** [basename.info] is the info
@@
-63,8
+65,10
@@
and f_type =
| FVoidPointer (** A [void*] pointer. *)
| FAnonListHeadPointer (** A pointer to an unknown
[list_head]. *)
| FVoidPointer (** A [void*] pointer. *)
| FAnonListHeadPointer (** A pointer to an unknown
[list_head]. *)
- | FListHeadPointer of string (** A pointer to a [list_head] in a
- named struct. *)
+ | FListHeadPointer of (string * string) option
+ (** A pointer to a [list_head]. If the value is not [None] then
+ this relates to another named struct/field, else it relates
+ to this struct/field. *)
| FInteger (** An integer. *)
| FString of int (** A char array of given width. *)
(** Type of a kernel field. *)
| FInteger (** An integer. *)
| FString of int (** A char array of given width. *)
(** Type of a kernel field. *)
@@
-121,9
+125,14
@@
val transpose : string list ->
The first parameter is the list of structure names of interest,
and should be the same as was passed to {!load_structures}. *)
The first parameter is the list of structure names of interest,
and should be the same as was passed to {!load_structures}. *)
-val get_fields : (info * structure) list -> (string *
f_type
) list
+val get_fields : (info * structure) list -> (string *
(f_type * bool)
) list
(** This gets a complete list of fields which have appeared in
(** This gets a complete list of fields which have appeared in
- any kernel version, and the type of those fields.
+ any kernel version.
+
+ The return list contains [(field_name, (field_type,
+ always_present))] where [always_present] is a boolean flag which
+ is true if the field is present in every kernel version we
+ examined.
Fields must not change type between kernel versions - if
so this function prints an error and exits. (We may support
Fields must not change type between kernel versions - if
so this function prints an error and exits. (We may support