]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * virtio ccw machine definitions | |
3 | * | |
4 | * Copyright 2012, 2016 IBM Corp. | |
5 | * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com> | |
6 | * | |
7 | * This work is licensed under the terms of the GNU GPL, version 2 or (at | |
8 | * your option) any later version. See the COPYING file in the top-level | |
9 | * directory. | |
10 | */ | |
11 | #ifndef HW_S390X_S390_VIRTIO_CCW_H | |
12 | #define HW_S390X_S390_VIRTIO_CCW_H | |
13 | ||
14 | #include "hw/boards.h" | |
15 | #include "qom/object.h" | |
16 | #include "hw/s390x/sclp.h" | |
17 | ||
18 | #define TYPE_S390_CCW_MACHINE "s390-ccw-machine" | |
19 | ||
20 | OBJECT_DECLARE_TYPE(S390CcwMachineState, S390CcwMachineClass, S390_CCW_MACHINE) | |
21 | ||
22 | ||
23 | struct S390CcwMachineState { | |
24 | /*< private >*/ | |
25 | MachineState parent_obj; | |
26 | ||
27 | /*< public >*/ | |
28 | bool aes_key_wrap; | |
29 | bool dea_key_wrap; | |
30 | bool pv; | |
31 | uint8_t loadparm[8]; | |
32 | uint64_t memory_limit; | |
33 | uint64_t max_pagesize; | |
34 | ||
35 | SCLPDevice *sclp; | |
36 | }; | |
37 | ||
38 | static inline uint64_t s390_get_memory_limit(S390CcwMachineState *s390ms) | |
39 | { | |
40 | /* We expect to be called only after the limit was set. */ | |
41 | assert(s390ms->memory_limit); | |
42 | return s390ms->memory_limit; | |
43 | } | |
44 | ||
45 | #define S390_PTF_REASON_NONE (0x00 << 8) | |
46 | #define S390_PTF_REASON_DONE (0x01 << 8) | |
47 | #define S390_PTF_REASON_BUSY (0x02 << 8) | |
48 | #define S390_TOPO_FC_MASK 0xffUL | |
49 | void s390_handle_ptf(S390CPU *cpu, uint8_t r1, uintptr_t ra); | |
50 | ||
51 | struct S390CcwMachineClass { | |
52 | /*< private >*/ | |
53 | MachineClass parent_class; | |
54 | ||
55 | /*< public >*/ | |
56 | int max_threads; | |
57 | bool use_cpi; | |
58 | }; | |
59 | ||
60 | #endif |