| /* |
| * ap bridge |
| * |
| * Copyright 2018 IBM Corp. |
| * |
| * This work is licensed under the terms of the GNU GPL, version 2 or (at |
| * your option) any later version. See the COPYING file in the top-level |
| * directory. |
| */ |
| |
| #ifndef HW_S390X_AP_BRIDGE_H |
| #define HW_S390X_AP_BRIDGE_H |
| |
| #define TYPE_AP_BRIDGE "ap-bridge" |
| #define TYPE_AP_BUS "ap-bus" |
| |
| void s390_init_ap(void); |
| |
| typedef struct ChscSeiNt0Res { |
| uint16_t length; |
| uint16_t code; |
| uint8_t reserved1; |
| uint16_t reserved2; |
| uint8_t nt; |
| #define PENDING_EVENT_INFO_BITMASK 0x80; |
| uint8_t flags; |
| uint8_t reserved3; |
| uint8_t rs; |
| uint8_t cc; |
| } QEMU_PACKED ChscSeiNt0Res; |
| |
| #define NT0_RES_RESPONSE_CODE 1 |
| #define NT0_RES_NT_DEFAULT 0 |
| #define NT0_RES_RS_AP_CHANGE 5 |
| #define NT0_RES_CC_AP_CHANGE 3 |
| |
| #define EVENT_INFORMATION_NOT_STORED 1 |
| #define EVENT_INFORMATION_STORED 0 |
| |
| /** |
| * ap_chsc_sei_nt0_get_event - Retrieve the next pending AP config |
| * change event |
| * @res: Pointer to a ChscSeiNt0Res struct to be filled with event |
| * data |
| * |
| * This function checks for any pending AP config change events and, |
| * if present, populates the provided response structure with the |
| * appropriate SEI NT0 fields. |
| * |
| * Return: |
| * EVENT_INFORMATION_STORED - An event was available and written to @res |
| * EVENT_INFORMATION_NOT_STORED - No event was available |
| */ |
| int ap_chsc_sei_nt0_get_event(void *res); |
| |
| bool ap_chsc_sei_nt0_have_event(void); |
| |
| #endif |