Files
s390-tools/include/boot/psw.h
Steffen Eiden 8058921f58 Reorganize boot-loader header files
include/boot/s390.h relies on s390 specific kernel headers. However,
some tools used this header for non-s390 code (outside of boot-loaders).
To solve this the PSW and PAGE_SIZE definitions are now in separate
header files. All includes for s390.h which are not in boot-loader code
are replaced with one of psw.h or page.h.

This fixes the compilation failure on ppc64le due to conflicting types
for `__vector128`.

Fixes: https://github.com/ibm-s390-linux/s390-tools/issues/151
Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
2023-07-11 08:21:48 +02:00

32 lines
735 B
C

/*
* Program Status Word related definitions and functions.
*
* Copyright IBM Corp. 2023
*
* s390-tools is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#ifndef BOOT_PSW_H
#define BOOT_PSW_H
#include "lib/zt_common.h"
#define PSW32_ADDR_MASK _AC(0x000000007fffffff, UL)
#define PSW_MASK_BA _AC(0x0000000080000000, UL)
#define PSW_MASK_EA _AC(0x0000000100000000, UL)
#define PSW_MASK_BIT_12 _AC(0x0008000000000000, UL)
#define PSW_LOAD _AC(0x0008000080000000, UL)
#define PSW_DISABLED_WAIT _AC(0x000a000000000000, UL)
#ifndef __ASSEMBLER__
#include <stdint.h>
struct psw_t {
uint64_t mask;
uint64_t addr;
} __aligned(8);
#endif
#endif