Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/runtime_instrumentation: clean up struct runtime_instr_cb

Update runtime_instr_cb structure to be consistent with the runtime
instrumentation documentation.

Signed-off-by: Alice Frosi <alice@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by

Alice Frosi and committed by
Martin Schwidefsky
bb59c2da 79962038

+48 -48
+41 -41
arch/s390/include/asm/runtime_instr.h
··· 5 5 #define S390_RUNTIME_INSTR_STOP 0x2 6 6 7 7 struct runtime_instr_cb { 8 - __u64 buf_current; 9 - __u64 buf_origin; 10 - __u64 buf_limit; 8 + __u64 rca; 9 + __u64 roa; 10 + __u64 rla; 11 11 12 - __u32 valid : 1; 13 - __u32 pstate : 1; 14 - __u32 pstate_set_buf : 1; 15 - __u32 home_space : 1; 16 - __u32 altered : 1; 17 - __u32 : 3; 18 - __u32 pstate_sample : 1; 19 - __u32 sstate_sample : 1; 20 - __u32 pstate_collect : 1; 21 - __u32 sstate_collect : 1; 22 - __u32 : 1; 23 - __u32 halted_int : 1; 24 - __u32 int_requested : 1; 25 - __u32 buffer_full_int : 1; 12 + __u32 v : 1; 13 + __u32 s : 1; 14 + __u32 k : 1; 15 + __u32 h : 1; 16 + __u32 a : 1; 17 + __u32 reserved1 : 3; 18 + __u32 ps : 1; 19 + __u32 qs : 1; 20 + __u32 pc : 1; 21 + __u32 qc : 1; 22 + __u32 reserved2 : 1; 23 + __u32 g : 1; 24 + __u32 u : 1; 25 + __u32 l : 1; 26 26 __u32 key : 4; 27 - __u32 : 9; 27 + __u32 reserved3 : 8; 28 + __u32 t : 1; 28 29 __u32 rgs : 3; 29 30 30 - __u32 mode : 4; 31 - __u32 next : 1; 31 + __u32 m : 4; 32 + __u32 n : 1; 32 33 __u32 mae : 1; 33 - __u32 : 2; 34 - __u32 call_type_br : 1; 35 - __u32 return_type_br : 1; 36 - __u32 other_type_br : 1; 37 - __u32 bc_other_type : 1; 38 - __u32 emit : 1; 39 - __u32 tx_abort : 1; 40 - __u32 : 2; 41 - __u32 bp_xn : 1; 42 - __u32 bp_xt : 1; 43 - __u32 bp_ti : 1; 44 - __u32 bp_ni : 1; 45 - __u32 suppr_y : 1; 46 - __u32 suppr_z : 1; 34 + __u32 reserved4 : 2; 35 + __u32 c : 1; 36 + __u32 r : 1; 37 + __u32 b : 1; 38 + __u32 j : 1; 39 + __u32 e : 1; 40 + __u32 x : 1; 41 + __u32 reserved5 : 2; 42 + __u32 bpxn : 1; 43 + __u32 bpxt : 1; 44 + __u32 bpti : 1; 45 + __u32 bpni : 1; 46 + __u32 reserved6 : 2; 47 47 48 - __u32 dc_miss_extra : 1; 49 - __u32 lat_lev_ignore : 1; 50 - __u32 ic_lat_lev : 4; 51 - __u32 dc_lat_lev : 4; 48 + __u32 d : 1; 49 + __u32 f : 1; 50 + __u32 ic : 4; 51 + __u32 dc : 4; 52 52 53 - __u64 reserved1; 54 - __u64 scaling_factor; 53 + __u64 reserved7; 54 + __u64 sf; 55 55 __u64 rsic; 56 - __u64 reserved2; 56 + __u64 reserved8; 57 57 } __packed __aligned(8); 58 58 59 59 extern struct runtime_instr_cb runtime_instr_empty_cb;
+6 -6
arch/s390/kernel/runtime_instr.c
··· 49 49 50 50 static void init_runtime_instr_cb(struct runtime_instr_cb *cb) 51 51 { 52 - cb->buf_limit = 0xfff; 53 - cb->pstate = 1; 54 - cb->pstate_set_buf = 1; 55 - cb->pstate_sample = 1; 56 - cb->pstate_collect = 1; 52 + cb->rla = 0xfff; 53 + cb->s = 1; 54 + cb->k = 1; 55 + cb->ps = 1; 56 + cb->pc = 1; 57 57 cb->key = PAGE_DEFAULT_KEY; 58 - cb->valid = 1; 58 + cb->v = 1; 59 59 } 60 60 61 61 SYSCALL_DEFINE1(s390_runtime_instr, int, command)
+1 -1
arch/s390/kvm/kvm-s390.c
··· 3283 3283 */ 3284 3284 if ((kvm_run->kvm_dirty_regs & KVM_SYNC_RICCB) && 3285 3285 test_kvm_facility(vcpu->kvm, 64) && 3286 - riccb->valid && 3286 + riccb->v && 3287 3287 !(vcpu->arch.sie_block->ecb3 & ECB3_RI)) { 3288 3288 VCPU_EVENT(vcpu, 3, "%s", "ENABLE: RI (sync_regs)"); 3289 3289 vcpu->arch.sie_block->ecb3 |= ECB3_RI;