|
|
auto | arch::s390x::cpu::lowcore::cpu_percpu (const u16 cpu_id) noexcept -> percpu::percpu_data * |
|
auto | arch::s390x::cpu::lowcore::current_domain_ptr () noexcept -> void * |
| | Get the current domain pointer from lowcore.
|
|
auto | arch::s390x::cpu::lowcore::current_strand_ptr () noexcept -> void * |
| | Get the current strand pointer from percpu.
|
|
auto | arch::s390x::cpu::lowcore::get_current () noexcept -> zx_lowcore * |
|
auto | arch::s390x::cpu::lowcore::get_current_phys () noexcept -> zx_lowcore * |
|
auto | arch::s390x::cpu::lowcore::get_for_cpu (const u16 cpu_id) noexcept -> zx_lowcore * |
| | Retrieve the lowcore structure pointer for a specific CPU, taking prefixing into account.
|
|
auto | arch::s390x::cpu::lowcore::init_ap (zx_lowcore &lc, const ap_init_params &p) noexcept -> void |
| | Prepare an AP lowcore for SIGP RESTART.
|
|
auto | arch::s390x::cpu::lowcore::init_bsp (const init::zxfl::protocol &proto) noexcept -> void |
| | Initialize the BSP lowcore. Must be called once after HHDM is active.
|
|
auto | arch::s390x::cpu::lowcore::register_cpu_lowcore (const u16 cpu_id, const u64 phys_lc) noexcept -> void |
|
auto | arch::s390x::cpu::lowcore::register_restart_handler (void(*fn)(void *) noexcept, void *data) noexcept -> void |
| | Install a runtime restart-interrupt handler on the current CPU.
|
|
auto | arch::s390x::cpu::lowcore::this_cpu_percpu () noexcept -> percpu::percpu_data & |
|
|
u32 | access_regs_save_area [16] {} |
|
u64 | ap_cr0 {} |
| | CR0 snapshot to restore on AP.
|
|
u64 | ap_cr0 {} |
|
u64 | ap_cr13 {} |
|
u64 | ap_entry_phys {} |
| | Physical address of ap_entry (DAT-off restart target).
|
|
u64 | ap_stack_phys {} |
| | Physical top of AP's initial stack (for LC_RESTART_STACK).
|
|
u8 | ar_access_id {} |
|
u64 | async_stack {} |
|
u64 | avg_steal_timer {} |
|
u64 | breaking_event_addr {} |
|
u32 | clock_comp_save_area [2] {} |
|
u64 | clock_comparator {} |
|
u16 | cpu_addr {} |
| | Hardware CPU address (from SIGP/STAP).
|
|
u16 | cpu_id {} |
| | Logical CPU ID assigned to this AP.
|
|
u32 | cpu_nr {} |
|
u32 | cpu_timer_save_area [2] {} |
|
zxfoundation::sys::syschk::zx_crash_record | crash_record {} |
|
u64 | cregs_save_area [16] {} |
|
u64 | current_domain {} |
|
u32 | current_pid {} |
|
u32 | data_exc_code {} |
|
u8 | exc_access_id {} |
|
u64 | exit_timer {} |
|
u16 | ext_cpu_addr {} |
|
u16 | ext_int_code {} |
|
u32 | ext_params {} |
|
u32 | external_damage_code {} |
|
psw::zx_psw | external_new_psw {} |
|
psw::zx_psw | external_old_psw {} |
|
u64 | failing_storage_address {} |
|
u64 | floating_pt_save_area [16] {} |
|
u32 | fpt_creg_save_area {} |
|
u64 | gpregs_save_area [16] {} |
|
u64 | guest_timer {} |
|
u64 | hardirq_timer {} |
|
u64 | int_clock {} |
|
u32 | io_int_parm {} |
|
u32 | io_int_word {} |
|
psw::zx_psw | io_new_psw {} |
|
psw::zx_psw | io_old_psw {} |
|
u32 | ipl_parmblock_ptr {} |
|
u64 | kernel_asce {} |
| | Kernel ASCE (CR1) to load before enabling DAT.
|
|
u64 | kernel_asce {} |
|
u64 | kernel_stack {} |
|
u64 | last_break {} |
|
u64 | last_break_save_area {} |
|
u64 | last_update_clock {} |
|
u64 | last_update_timer {} |
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_AP_CR0 = 0x0330UL |
| | zx_lowcore::ap_cr0 (software-defined)
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_AP_CR13 = 0x0338UL |
| | zx_lowcore::ap_cr13 (software-defined)
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_ASYNC_STACK = 0x0350UL |
| | zx_lowcore::async_stack
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_CPU_ID_OFFSET = 0x0408UL |
| | percpu::cpu_id
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_CURRENT_DOMAIN = 0x0340UL |
| | zx_lowcore::current_domain — used by entry.S
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_EXT_OLD_PSW = 0x0130UL |
| | zx_lowcore::external_old_psw
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_IO_OLD_PSW = 0x0170UL |
| | zx_lowcore::io_old_psw
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_IRQ_CLASS = 0x0444UL |
| | percpu::current_irq_class — used by entry.S
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_IRQ_NESTING = 0x0438UL |
| | percpu::irq_nesting — used by entry.S
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_KERNEL_ASCE = 0x0388UL |
| | zx_lowcore::kernel_asce
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_KERNEL_STACK = 0x0348UL |
| | zx_lowcore::kernel_stack
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_MCCK_OLD_PSW = 0x0160UL |
| | zx_lowcore::mcck_old_psw
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_MCCK_STACK = 0x0368UL |
| | zx_lowcore::mcck_stack
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_NODAT_STACK = 0x0358UL |
| | zx_lowcore::nodat_stack
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_NUCLEUS_NESTING = 0x043CUL |
| | percpu::nucleus_nesting — used by entry.S
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_PERCPU_OFFSET = 0x0400UL |
| | zx_lowcore::percpu
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_PGM_OLD_PSW = 0x0150UL |
| | zx_lowcore::program_old_psw
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_PREEMPT_COUNT = 0x0430UL |
| | percpu::preempt_count — used by entry.S
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_PSW_TEMP = 0x0248UL |
| | Temporary PSW storage at start of pad_0x0248 – used by entry.S RESTORE_FRAME.
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_RESTART_STACK = 0x0360UL |
| | zx_lowcore::restart_stack
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_RETURN_PSW = 0x0290UL |
| | zx_lowcore::return_psw
|
|
constexpr u64 | arch::s390x::cpu::lowcore::LC_SVC_OLD_PSW = 0x0140UL |
| | zx_lowcore::svc_old_psw
|
|
constexpr usize | arch::s390x::cpu::lowcore::LOWCORE_SIZE = 0x2000UL |
| | 8 KiB per z/Architecture PoP.
|
|
u32 | lpp {} |
|
u64 | mcck_enter_timer {} |
|
u64 | mcck_interruption_code {} |
|
psw::zx_psw | mcck_new_psw {} |
|
psw::zx_psw | mcck_old_psw {} |
|
u64 | mcck_stack {} |
|
u16 | mon_class_num {} |
|
u64 | monitor_code {} |
|
u64 | nodat_stack {} |
|
u8 | op_access_id {} |
|
u8 | pad_0x0000 [0x0014 - 0x0000] {} |
|
u8 | pad_0x0018 [0x0080 - 0x0018] {} |
|
u8 | pad_0x00a4 [0x00a8 - 0x00a4] {} |
|
u8 | pad_0x00c4 [0x00c8 - 0x00c4] {} |
|
u8 | pad_0x00cc [0x00e8 - 0x00cc] {} |
|
u8 | pad_0x00f0 [0x00f4 - 0x00f0] {} |
|
u8 | pad_0x0100 [0x0110 - 0x0100] {} |
|
u8 | pad_0x0118 [0x0120 - 0x0118] {} |
|
u8 | pad_0x0180 [0x01a0 - 0x0180] {} |
|
u8 | pad_0x0258 [0x0280 - 0x0258] {} |
|
u8 | pad_0x0320 [0x0328 - 0x0320] {} |
|
u8 | pad_0x03b4 [0x03b8 - 0x03b4] {} |
|
u8 | pad_0x03c0 [0x0400 - 0x03c0] {} |
|
u8 | pad_0x1310 [0x1318 - 0x1310] {} |
|
u8 | pad_0x1320 [0x1324 - 0x1320] {} |
|
u8 | pad_0x1400_rest [0x1800 - 0x1400 - sizeof(zxfoundation::sys::syschk::zx_crash_record)] {} |
|
u8 | pad_0x1900 [0x2000 - 0x1900] {} |
|
u8 | pad_percpu_end [0x1200 -(0x0400+sizeof(percpu::percpu_data))] {} |
|
u64 | pcpu {} |
|
u8 | per_access_id {} |
|
u64 | per_address {} |
|
u16 | per_perc_atmid {} |
|
percpu::percpu_data | percpu {} |
|
u64 | percpu_offset {} |
|
u16 | pgm_code {} |
|
u16 | pgm_ilc {} |
|
u64 | pgm_tdb [32] {} |
|
u64 | phys_lc {} |
| | Physical address of the AP's 8 KB lowcore page.
|
|
i32 | preempt_count {} |
|
u32 | prefixreg_save_area {} |
|
psw::zx_psw | program_new_psw {} |
|
psw::zx_psw | program_old_psw {} |
|
psw::zx_psw | psw_save_area {} |
|
u64 | restart_data {} |
|
u32 | restart_flags {} |
|
u64 | restart_fn {} |
|
psw::zx_psw | restart_old_psw {} |
|
psw::zx_psw | restart_psw {} |
|
u32 | restart_source {} |
|
u64 | restart_stack {} |
|
psw::zx_psw | return_mcck_psw {} |
|
psw::zx_psw | return_psw {} |
|
psw::zx_psw | return_psw_temp {} |
|
u64 | save_area_restart [1] {} |
|
u64 | save_area_sync [8] {} |
|
u32 | softirq_pending {} |
|
u64 | softirq_timer {} |
|
u32 | spinlock_index {} |
|
u32 | spinlock_lockval {} |
|
u64 | stack_canary {} |
|
u64 | steal_timer {} |
|
u32 | stfl_fac_list {} |
|
u16 | subchannel_id {} |
|
u16 | subchannel_nr {} |
|
u16 | svc_code {} |
|
u16 | svc_ilc {} |
|
psw::zx_psw | svc_new_psw {} |
|
psw::zx_psw | svc_old_psw {} |
|
u64 | sys_enter_timer {} |
|
u64 | system_timer {} |
|
u32 | tod_progreg_save_area {} |
|
u64 | trans_exc_code {} |
|
u64 | user_asce {} |
|
u64 | user_timer {} |