Message ID | 1626975764-22131-5-git-send-email-pmorel@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: CPU Topology | expand |
On 22/07/2021 19.42, Pierre Morel wrote: > We define the CPU type Topology List Entry and the > Container type Topology List Entry to implement SYSIB 15.1.x > > This patch will be squatched with the next patch. s/squatched/squashed/ ... anyway, why did you sent it separately? Thomas
On 22/07/2021 19.42, Pierre Morel wrote: > We define the CPU type Topology List Entry and the > Container type Topology List Entry to implement SYSIB 15.1.x > > This patch will be squatched with the next patch. > > Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> > --- > target/s390x/cpu.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h > index b26ae8fff2..d573ba205e 100644 > --- a/target/s390x/cpu.h > +++ b/target/s390x/cpu.h > @@ -564,6 +564,50 @@ typedef union SysIB { > } SysIB; > QEMU_BUILD_BUG_ON(sizeof(SysIB) != 4096); > > +/* CPU type Topology List Entry */ > +typedef struct SysIBTl_cpu { > + uint8_t nl; > + uint8_t reserved0[3]; > + uint8_t reserved1:5; > + uint8_t dedicated:1; > + uint8_t polarity:2; > + uint8_t type; > + uint16_t origin; > + uint64_t mask; > +} QEMU_PACKED SysIBTl_cpu; > + > +/* Container type Topology List Entry */ > +typedef struct SysIBTl_container { > + uint8_t nl; > + uint8_t reserved[6]; > + uint8_t id; > +} QEMU_PACKED SysIBTl_container; Any chance that you could drop the PACKED from th above two structs and use QEMU_BUILD_BUG_ON to check the size instead? ... PACKED was causing some build issues on other architectures in the past already, so we should try to avoid it if possible. Thomas
On 9/7/21 9:46 AM, Thomas Huth wrote: > On 22/07/2021 19.42, Pierre Morel wrote: >> We define the CPU type Topology List Entry and the >> Container type Topology List Entry to implement SYSIB 15.1.x >> >> This patch will be squatched with the next patch. > > s/squatched/squashed/ > > ... anyway, why did you sent it separately? > I thought it would be easier to review. I will squash it next. thanks, Pierre
On 9/7/21 9:54 AM, Thomas Huth wrote: > On 22/07/2021 19.42, Pierre Morel wrote: >> We define the CPU type Topology List Entry and the >> Container type Topology List Entry to implement SYSIB 15.1.x >> >> This patch will be squatched with the next patch. >> >> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> >> --- >> target/s390x/cpu.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 44 insertions(+) >> >> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h >> index b26ae8fff2..d573ba205e 100644 >> --- a/target/s390x/cpu.h >> +++ b/target/s390x/cpu.h >> @@ -564,6 +564,50 @@ typedef union SysIB { >> } SysIB; >> QEMU_BUILD_BUG_ON(sizeof(SysIB) != 4096); >> +/* CPU type Topology List Entry */ >> +typedef struct SysIBTl_cpu { >> + uint8_t nl; >> + uint8_t reserved0[3]; >> + uint8_t reserved1:5; >> + uint8_t dedicated:1; >> + uint8_t polarity:2; >> + uint8_t type; >> + uint16_t origin; >> + uint64_t mask; >> +} QEMU_PACKED SysIBTl_cpu; >> + >> +/* Container type Topology List Entry */ >> +typedef struct SysIBTl_container { >> + uint8_t nl; >> + uint8_t reserved[6]; >> + uint8_t id; >> +} QEMU_PACKED SysIBTl_container; > > Any chance that you could drop the PACKED from th above two structs and > use QEMU_BUILD_BUG_ON to check the size instead? > ... PACKED was causing some build issues on other architectures in the > past already, so we should try to avoid it if possible. I can do this. Thanks Pierre > > Thomas >
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index b26ae8fff2..d573ba205e 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -564,6 +564,50 @@ typedef union SysIB { } SysIB; QEMU_BUILD_BUG_ON(sizeof(SysIB) != 4096); +/* CPU type Topology List Entry */ +typedef struct SysIBTl_cpu { + uint8_t nl; + uint8_t reserved0[3]; + uint8_t reserved1:5; + uint8_t dedicated:1; + uint8_t polarity:2; + uint8_t type; + uint16_t origin; + uint64_t mask; +} QEMU_PACKED SysIBTl_cpu; + +/* Container type Topology List Entry */ +typedef struct SysIBTl_container { + uint8_t nl; + uint8_t reserved[6]; + uint8_t id; +} QEMU_PACKED SysIBTl_container; + +/* Generic Topology List Entry */ +typedef union SysIBTl_entry { + uint8_t nl; + SysIBTl_container container; + SysIBTl_cpu cpu; +} QEMU_PACKED SysIBTl_entry; + +#define TOPOLOGY_NR_MAG 6 +#define TOPOLOGY_NR_MAG6 0 +#define TOPOLOGY_NR_MAG5 1 +#define TOPOLOGY_NR_MAG4 2 +#define TOPOLOGY_NR_MAG3 3 +#define TOPOLOGY_NR_MAG2 4 +#define TOPOLOGY_NR_MAG1 5 +/* Configuration topology */ +typedef struct SysIB_151x { + uint8_t res0[2]; + uint16_t length; + uint8_t mag[TOPOLOGY_NR_MAG]; + uint8_t res1; + uint8_t mnest; + uint32_t res2; + SysIBTl_entry tle[0]; +} QEMU_PACKED SysIB_151x; + /* MMU defines */ #define ASCE_ORIGIN (~0xfffULL) /* segment table origin */ #define ASCE_SUBSPACE 0x200 /* subspace group control */
We define the CPU type Topology List Entry and the Container type Topology List Entry to implement SYSIB 15.1.x This patch will be squatched with the next patch. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> --- target/s390x/cpu.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)