bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Use portable rpc types to define 'struct sample'.


From: Flavio Cruz
Subject: [PATCH] Use portable rpc types to define 'struct sample'.
Date: Sun, 27 Nov 2022 20:34:14 -0500

---
 include/mach/mach4.defs  | 10 ++++++++--
 include/mach/pc_sample.h |  6 +++---
 kern/pc_sample.c         |  4 ++--
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/include/mach/mach4.defs b/include/mach/mach4.defs
index 61423a44..53cca7d3 100644
--- a/include/mach/mach4.defs
+++ b/include/mach/mach4.defs
@@ -41,10 +41,16 @@ subsystem
 
 
 #ifdef MACH_PCSAMPLE
-type sampled_pc_t      = struct[3]    of natural_t;
+type sampled_pc_flavor_t = unsigned;
+
+type sampled_pc_t      = struct {
+   rpc_vm_offset_t id;
+   rpc_vm_offset_t pc;
+   sampled_pc_flavor_t sampletype;
+};
+
 type sampled_pc_array_t = array[*:512] of sampled_pc_t;
 type sampled_pc_seqno_t = unsigned;
-type sampled_pc_flavor_t = natural_t;
 
 routine task_enable_pc_sampling(
                host          : task_t;
diff --git a/include/mach/pc_sample.h b/include/mach/pc_sample.h
index 662addb9..b76ccfcd 100644
--- a/include/mach/pc_sample.h
+++ b/include/mach/pc_sample.h
@@ -29,7 +29,7 @@
 
 #include <mach/machine/vm_types.h>
 
-typedef natural_t      sampled_pc_flavor_t;
+typedef unsigned int   sampled_pc_flavor_t;
 
 
 #define SAMPLED_PC_PERIODIC                    0x1     /* default */
@@ -54,8 +54,8 @@ typedef natural_t     sampled_pc_flavor_t;
  */
 
 typedef struct sampled_pc {
-    natural_t          id;
-    vm_offset_t                pc;
+    rpc_vm_offset_t            id;  /* task_t address */
+    rpc_vm_offset_t            pc;  /* program counter */
     sampled_pc_flavor_t sampletype;
 } sampled_pc_t;
 
diff --git a/kern/pc_sample.c b/kern/pc_sample.c
index e9f0b16a..6c891fe1 100644
--- a/kern/pc_sample.c
+++ b/kern/pc_sample.c
@@ -60,8 +60,8 @@ void take_pc_sample(
 
     cp->seqno++;
     sample = &((sampled_pc_t *)cp->buffer)[cp->seqno % MAX_PC_SAMPLES];
-    sample->id = (vm_offset_t)t;
-    sample->pc = pc;
+    sample->id = (rpc_vm_offset_t)t;
+    sample->pc = (rpc_vm_offset_t)pc;
     sample->sampletype = flavor;
 }
 
-- 
2.37.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]