__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0 */ /* * s390 diagnose functions * * Copyright IBM Corp. 2007 * Author(s): Michael Holzheu <[email protected]> */ #ifndef _ASM_S390_DIAG_H #define _ASM_S390_DIAG_H #include <linux/if_ether.h> #include <linux/percpu.h> #include <asm/asm-extable.h> #include <asm/sclp.h> #include <asm/cio.h> enum diag_stat_enum { DIAG_STAT_X008, DIAG_STAT_X00C, DIAG_STAT_X010, DIAG_STAT_X014, DIAG_STAT_X044, DIAG_STAT_X064, DIAG_STAT_X08C, DIAG_STAT_X09C, DIAG_STAT_X0DC, DIAG_STAT_X204, DIAG_STAT_X210, DIAG_STAT_X224, DIAG_STAT_X250, DIAG_STAT_X258, DIAG_STAT_X26C, DIAG_STAT_X288, DIAG_STAT_X2C4, DIAG_STAT_X2FC, DIAG_STAT_X304, DIAG_STAT_X308, DIAG_STAT_X310, DIAG_STAT_X318, DIAG_STAT_X320, DIAG_STAT_X324, DIAG_STAT_X49C, DIAG_STAT_X500, NR_DIAG_STAT }; void diag_stat_inc(enum diag_stat_enum nr); void diag_stat_inc_norecursion(enum diag_stat_enum nr); struct hypfs_diag0c_entry; /* * Diagnose 0c: Pseudo Timer */ void diag0c(struct hypfs_diag0c_entry *data); /* * Diagnose 10: Release page range */ static inline void diag10_range(unsigned long start_pfn, unsigned long num_pfn) { unsigned long start_addr, end_addr; start_addr = pfn_to_phys(start_pfn); end_addr = pfn_to_phys(start_pfn + num_pfn - 1); diag_stat_inc(DIAG_STAT_X010); asm volatile( "0: diag %0,%1,0x10\n" "1: nopr %%r7\n" EX_TABLE(0b, 1b) EX_TABLE(1b, 1b) : : "a" (start_addr), "a" (end_addr)); } /* * Diagnose 14: Input spool file manipulation */ extern int diag14(unsigned long rx, unsigned long ry1, unsigned long subcode); /* * Diagnose 210: Get information about a virtual device */ struct diag210 { u16 vrdcdvno; /* device number (input) */ u16 vrdclen; /* data block length (input) */ u8 vrdcvcla; /* virtual device class (output) */ u8 vrdcvtyp; /* virtual device type (output) */ u8 vrdcvsta; /* virtual device status (output) */ u8 vrdcvfla; /* virtual device flags (output) */ u8 vrdcrccl; /* real device class (output) */ u8 vrdccrty; /* real device type (output) */ u8 vrdccrmd; /* real device model (output) */ u8 vrdccrft; /* real device feature (output) */ } __packed __aligned(4); extern int diag210(struct diag210 *addr); struct diag8c { u8 flags; u8 num_partitions; u16 width; u16 height; u8 data[]; } __packed __aligned(4); extern int diag8c(struct diag8c *out, struct ccw_dev_id *devno); /* bit is set in flags, when physical cpu info is included in diag 204 data */ #define DIAG204_LPAR_PHYS_FLG 0x80 #define DIAG204_LPAR_NAME_LEN 8 /* lpar name len in diag 204 data */ #define DIAG204_CPU_NAME_LEN 16 /* type name len of cpus in diag224 name table */ /* diag 204 subcodes */ enum diag204_sc { DIAG204_SUBC_STIB4 = 4, DIAG204_SUBC_RSI = 5, DIAG204_SUBC_STIB6 = 6, DIAG204_SUBC_STIB7 = 7 }; #define DIAG204_SUBCODE_MASK 0xffff #define DIAG204_BIF_BIT 0x80000000 #define DIAG204_BUSY_WAIT (HZ / 10) /* The two available diag 204 data formats */ enum diag204_format { DIAG204_INFO_SIMPLE = 0, DIAG204_INFO_EXT = 0x00010000 }; enum diag204_cpu_flags { DIAG204_CPU_ONLINE = 0x20, DIAG204_CPU_CAPPED = 0x40, }; struct diag204_info_blk_hdr { __u8 npar; __u8 flags; __u16 tslice; __u16 phys_cpus; __u16 this_part; __u64 curtod; } __packed; struct diag204_x_info_blk_hdr { __u8 npar; __u8 flags; __u16 tslice; __u16 phys_cpus; __u16 this_part; __u64 curtod1; __u64 curtod2; char reserved[40]; } __packed; struct diag204_part_hdr { __u8 pn; __u8 cpus; char reserved[6]; char part_name[DIAG204_LPAR_NAME_LEN]; } __packed; struct diag204_x_part_hdr { __u8 pn; __u8 cpus; __u8 rcpus; __u8 pflag; __u32 mlu; char part_name[DIAG204_LPAR_NAME_LEN]; char lpc_name[8]; char os_name[8]; __u64 online_cs; __u64 online_es; __u8 upid; __u8 reserved:3; __u8 mtid:5; char reserved1[2]; __u32 group_mlu; char group_name[8]; char hardware_group_name[8]; char reserved2[24]; } __packed; struct diag204_cpu_info { __u16 cpu_addr; char reserved1[2]; __u8 ctidx; __u8 cflag; __u16 weight; __u64 acc_time; __u64 lp_time; } __packed; struct diag204_x_cpu_info { __u16 cpu_addr; char reserved1[2]; __u8 ctidx; __u8 cflag; __u16 weight; __u64 acc_time; __u64 lp_time; __u16 min_weight; __u16 cur_weight; __u16 max_weight; char reseved2[2]; __u64 online_time; __u64 wait_time; __u32 pma_weight; __u32 polar_weight; __u32 cpu_type_cap; __u32 group_cpu_type_cap; char reserved3[32]; } __packed; struct diag204_phys_hdr { char reserved1[1]; __u8 cpus; char reserved2[6]; char mgm_name[8]; } __packed; struct diag204_x_phys_hdr { char reserved1[1]; __u8 cpus; char reserved2[6]; char mgm_name[8]; char reserved3[80]; } __packed; struct diag204_phys_cpu { __u16 cpu_addr; char reserved1[2]; __u8 ctidx; char reserved2[3]; __u64 mgm_time; char reserved3[8]; } __packed; struct diag204_x_phys_cpu { __u16 cpu_addr; char reserved1[2]; __u8 ctidx; char reserved2[1]; __u16 weight; __u64 mgm_time; char reserved3[80]; } __packed; struct diag204_x_part_block { struct diag204_x_part_hdr hdr; struct diag204_x_cpu_info cpus[]; } __packed; struct diag204_x_phys_block { struct diag204_x_phys_hdr hdr; struct diag204_x_phys_cpu cpus[]; } __packed; enum diag26c_sc { DIAG26C_PORT_VNIC = 0x00000024, DIAG26C_MAC_SERVICES = 0x00000030 }; enum diag26c_version { DIAG26C_VERSION2 = 0x00000002, /* z/VM 5.4.0 */ DIAG26C_VERSION6_VM65918 = 0x00020006 /* z/VM 6.4.0 + VM65918 */ }; #define DIAG26C_VNIC_INFO 0x0002 struct diag26c_vnic_req { u32 resp_buf_len; u32 resp_version; u16 req_format; u16 vlan_id; u64 sys_name; u8 res[2]; u16 devno; } __packed __aligned(8); #define VNIC_INFO_PROT_L3 1 #define VNIC_INFO_PROT_L2 2 /* Note: this is the bare minimum, use it for uninitialized VNICs only. */ struct diag26c_vnic_resp { u32 version; u32 entry_cnt; /* VNIC info: */ u32 next_entry; u64 owner; u16 devno; u8 status; u8 type; u64 lan_owner; u64 lan_name; u64 port_name; u8 port_type; u8 ext_status:6; u8 protocol:2; u16 base_devno; u32 port_num; u32 ifindex; u32 maxinfo; u32 dev_count; /* 3x device info: */ u8 dev_info1[28]; u8 dev_info2[28]; u8 dev_info3[28]; } __packed __aligned(8); #define DIAG26C_GET_MAC 0x0000 struct diag26c_mac_req { u32 resp_buf_len; u32 resp_version; u16 op_code; u16 devno; u8 res[4]; }; struct diag26c_mac_resp { u32 version; u8 mac[ETH_ALEN]; u8 res[2]; } __aligned(8); #define CPNC_LINUX 0x4 union diag318_info { unsigned long val; struct { unsigned long cpnc : 8; unsigned long cpvc : 56; }; }; static inline bool diag204_has_bif(void) { return sclp.has_diag204_bif; } int diag204(unsigned long subcode, unsigned long size, void *addr); int diag224(void *ptr); int diag26c(void *req, void *resp, enum diag26c_sc subcode); struct hypfs_diag0c_entry; /* * This structure must contain only pointers/references into * the AMODE31 text section. */ struct diag_ops { int (*diag210)(struct diag210 *addr); int (*diag26c)(unsigned long rx, unsigned long rx1, enum diag26c_sc subcode); int (*diag14)(unsigned long rx, unsigned long ry1, unsigned long subcode); int (*diag8c)(struct diag8c *addr, struct ccw_dev_id *devno, size_t len); void (*diag0c)(unsigned long rx); void (*diag308_reset)(void); }; extern struct diag_ops diag_amode31_ops; extern struct diag210 *__diag210_tmp_amode31; int _diag210_amode31(struct diag210 *addr); int _diag26c_amode31(unsigned long rx, unsigned long rx1, enum diag26c_sc subcode); int _diag14_amode31(unsigned long rx, unsigned long ry1, unsigned long subcode); void _diag0c_amode31(unsigned long rx); void _diag308_reset_amode31(void); int _diag8c_amode31(struct diag8c *addr, struct ccw_dev_id *devno, size_t len); /* diag 49c subcodes */ enum diag49c_sc { DIAG49C_SUBC_ACK = 0, DIAG49C_SUBC_REG = 1 }; int diag49c(unsigned long subcode); #endif /* _ASM_S390_DIAG_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| trace | Folder | 0755 |
|
|
| vdso | Folder | 0755 |
|
|
| Kbuild | File | 253 B | 0644 |
|
| abs_lowcore.h | File | 703 B | 0644 |
|
| access-regs.h | File | 806 B | 0644 |
|
| airq.h | File | 3.29 KB | 0644 |
|
| alternative.h | File | 7.2 KB | 0644 |
|
| ap.h | File | 15.71 KB | 0644 |
|
| appldata.h | File | 1.57 KB | 0644 |
|
| arch_hweight.h | File | 1.66 KB | 0644 |
|
| archrandom.h | File | 947 B | 0644 |
|
| asm-const.h | File | 376 B | 0644 |
|
| asm-extable.h | File | 3.29 KB | 0644 |
|
| asm-prototypes.h | File | 384 B | 0644 |
|
| asm.h | File | 1.84 KB | 0644 |
|
| atomic.h | File | 6.61 KB | 0644 |
|
| atomic_ops.h | File | 7.12 KB | 0644 |
|
| barrier.h | File | 1.93 KB | 0644 |
|
| bitops.h | File | 6.69 KB | 0644 |
|
| boot_data.h | File | 1.62 KB | 0644 |
|
| bug.h | File | 1.5 KB | 0644 |
|
| cache.h | File | 389 B | 0644 |
|
| ccwdev.h | File | 8.33 KB | 0644 |
|
| ccwgroup.h | File | 2.25 KB | 0644 |
|
| checksum.h | File | 3.18 KB | 0644 |
|
| chpid.h | File | 979 B | 0644 |
|
| chsc.h | File | 1.7 KB | 0644 |
|
| cio.h | File | 9.01 KB | 0644 |
|
| clocksource.h | File | 184 B | 0644 |
|
| clp.h | File | 1.39 KB | 0644 |
|
| cmb.h | File | 425 B | 0644 |
|
| cmpxchg.h | File | 6.04 KB | 0644 |
|
| compat.h | File | 2.78 KB | 0644 |
|
| cpacf.h | File | 21.03 KB | 0644 |
|
| cpcmd.h | File | 1.11 KB | 0644 |
|
| cpu.h | File | 620 B | 0644 |
|
| cpu_mf-insn.h | File | 478 B | 0644 |
|
| cpu_mf.h | File | 8.49 KB | 0644 |
|
| cpufeature.h | File | 464 B | 0644 |
|
| cputime.h | File | 393 B | 0644 |
|
| crw.h | File | 1.81 KB | 0644 |
|
| css_chars.h | File | 904 B | 0644 |
|
| ctlreg.h | File | 7.82 KB | 0644 |
|
| current.h | File | 407 B | 0644 |
|
| dat-bits.h | File | 4.91 KB | 0644 |
|
| debug.h | File | 14.36 KB | 0644 |
|
| delay.h | File | 647 B | 0644 |
|
| diag.h | File | 7.72 KB | 0644 |
|
| dis.h | File | 636 B | 0644 |
|
| dma-types.h | File | 2.5 KB | 0644 |
|
| dma.h | File | 359 B | 0644 |
|
| dwarf.h | File | 952 B | 0644 |
|
| eadm.h | File | 2.07 KB | 0644 |
|
| ebcdic.h | File | 1.4 KB | 0644 |
|
| elf.h | File | 11.2 KB | 0644 |
|
| entry-common.h | File | 1.43 KB | 0644 |
|
| exec.h | File | 269 B | 0644 |
|
| extable.h | File | 1.88 KB | 0644 |
|
| extmem.h | File | 1.04 KB | 0644 |
|
| facility.h | File | 3.41 KB | 0644 |
|
| fault.h | File | 730 B | 0644 |
|
| fcx.h | File | 7.96 KB | 0644 |
|
| fprobe.h | File | 229 B | 0644 |
|
| fpu-insn-asm.h | File | 15.4 KB | 0644 |
|
| fpu-insn.h | File | 11.35 KB | 0644 |
|
| fpu-types.h | File | 1.06 KB | 0644 |
|
| fpu.h | File | 8.18 KB | 0644 |
|
| ftrace.h | File | 4.32 KB | 0644 |
|
| ftrace.lds.h | File | 720 B | 0644 |
|
| futex.h | File | 2.56 KB | 0644 |
|
| gmap.h | File | 6.31 KB | 0644 |
|
| hardirq.h | File | 783 B | 0644 |
|
| hiperdispatch.h | File | 295 B | 0644 |
|
| hugetlb.h | File | 2.81 KB | 0644 |
|
| hw_irq.h | File | 210 B | 0644 |
|
| idals.h | File | 6.1 KB | 0644 |
|
| idle.h | File | 614 B | 0644 |
|
| io.h | File | 2.49 KB | 0644 |
|
| ipl.h | File | 4.05 KB | 0644 |
|
| irq.h | File | 2.55 KB | 0644 |
|
| irq_work.h | File | 204 B | 0644 |
|
| irqflags.h | File | 2.07 KB | 0644 |
|
| isc.h | File | 1.01 KB | 0644 |
|
| itcw.h | File | 950 B | 0644 |
|
| jump_label.h | File | 1.32 KB | 0644 |
|
| kasan.h | File | 460 B | 0644 |
|
| kdebug.h | File | 397 B | 0644 |
|
| kexec.h | File | 3.17 KB | 0644 |
|
| kfence.h | File | 1.13 KB | 0644 |
|
| kmsan.h | File | 1.54 KB | 0644 |
|
| kprobes.h | File | 2.02 KB | 0644 |
|
| kvm_host.h | File | 27.71 KB | 0644 |
|
| kvm_para.h | File | 3.67 KB | 0644 |
|
| linkage.h | File | 223 B | 0644 |
|
| lowcore.h | File | 7.22 KB | 0644 |
|
| maccess.h | File | 564 B | 0644 |
|
| march.h | File | 722 B | 0644 |
|
| mem_encrypt.h | File | 304 B | 0644 |
|
| mmu.h | File | 1.38 KB | 0644 |
|
| mmu_context.h | File | 3.42 KB | 0644 |
|
| module.h | File | 1.54 KB | 0644 |
|
| msi.h | File | 527 B | 0644 |
|
| nmi.h | File | 3.51 KB | 0644 |
|
| nospec-branch.h | File | 1.18 KB | 0644 |
|
| nospec-insn.h | File | 2.43 KB | 0644 |
|
| numa.h | File | 386 B | 0644 |
|
| os_info.h | File | 1.67 KB | 0644 |
|
| page-states.h | File | 1.75 KB | 0644 |
|
| page.h | File | 6.76 KB | 0644 |
|
| pai.h | File | 2.03 KB | 0644 |
|
| pci.h | File | 8.64 KB | 0644 |
|
| pci_clp.h | File | 5.35 KB | 0644 |
|
| pci_debug.h | File | 722 B | 0644 |
|
| pci_dma.h | File | 2.89 KB | 0644 |
|
| pci_insn.h | File | 3.99 KB | 0644 |
|
| pci_io.h | File | 4.28 KB | 0644 |
|
| percpu.h | File | 6.33 KB | 0644 |
|
| perf_event.h | File | 1.93 KB | 0644 |
|
| pfault.h | File | 461 B | 0644 |
|
| pgalloc.h | File | 4.39 KB | 0644 |
|
| pgtable.h | File | 60.39 KB | 0644 |
|
| physmem_info.h | File | 4.92 KB | 0644 |
|
| pkey.h | File | 754 B | 0644 |
|
| pnet.h | File | 325 B | 0644 |
|
| preempt.h | File | 3.51 KB | 0644 |
|
| processor.h | File | 10.96 KB | 0644 |
|
| ptrace.h | File | 7.56 KB | 0644 |
|
| purgatory.h | File | 329 B | 0644 |
|
| qdio.h | File | 9.92 KB | 0644 |
|
| runtime-const.h | File | 1.92 KB | 0644 |
|
| runtime_instr.h | File | 634 B | 0644 |
|
| rwonce.h | File | 691 B | 0644 |
|
| schid.h | File | 525 B | 0644 |
|
| sclp.h | File | 4.97 KB | 0644 |
|
| scsw.h | File | 25.06 KB | 0644 |
|
| seccomp.h | File | 808 B | 0644 |
|
| sections.h | File | 1.03 KB | 0644 |
|
| set_memory.h | File | 2.12 KB | 0644 |
|
| setup.h | File | 4.8 KB | 0644 |
|
| signal.h | File | 644 B | 0644 |
|
| sigp.h | File | 1.87 KB | 0644 |
|
| smp.h | File | 2.06 KB | 0644 |
|
| softirq_stack.h | File | 372 B | 0644 |
|
| sparsemem.h | File | 506 B | 0644 |
|
| spinlock.h | File | 3.31 KB | 0644 |
|
| spinlock_types.h | File | 413 B | 0644 |
|
| stacktrace.h | File | 7.88 KB | 0644 |
|
| stp.h | File | 1.69 KB | 0644 |
|
| string.h | File | 5.49 KB | 0644 |
|
| syscall.h | File | 3.81 KB | 0644 |
|
| syscall_wrapper.h | File | 4.67 KB | 0644 |
|
| sysinfo.h | File | 4.33 KB | 0644 |
|
| text-patching.h | File | 301 B | 0644 |
|
| thread_info.h | File | 3.74 KB | 0644 |
|
| timex.h | File | 6.6 KB | 0644 |
|
| tlb.h | File | 4.68 KB | 0644 |
|
| tlbflush.h | File | 2.98 KB | 0644 |
|
| topology.h | File | 2.91 KB | 0644 |
|
| tpi.h | File | 736 B | 0644 |
|
| types.h | File | 318 B | 0644 |
|
| uaccess.h | File | 18.89 KB | 0644 |
|
| unistd.h | File | 1.01 KB | 0644 |
|
| unwind.h | File | 3.3 KB | 0644 |
|
| uprobes.h | File | 588 B | 0644 |
|
| user.h | File | 3.16 KB | 0644 |
|
| uv.h | File | 16.12 KB | 0644 |
|
| vdso-symbols.h | File | 499 B | 0644 |
|
| vdso.h | File | 326 B | 0644 |
|
| vmalloc.h | File | 90 B | 0644 |
|
| vmlinux.lds.h | File | 1.14 KB | 0644 |
|
| vtime.h | File | 612 B | 0644 |
|
| vtimer.h | File | 830 B | 0644 |
|
| word-at-a-time.h | File | 1.52 KB | 0644 |
|
| xor.h | File | 454 B | 0644 |
|