Re: [PATCH v14 03/11] target/s390x/cpu topology: handle STSI(15) and build the SYSIB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/01/2023 17.56, Pierre Morel wrote:


On 1/10/23 15:29, Thomas Huth wrote:
On 05/01/2023 15.53, Pierre Morel wrote:
On interception of STSI(15.1.x) the System Information Block
(SYSIB) is built from the list of pre-ordered topology entries.

Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
---
...
+typedef struct SysIBTl_container {
+        uint8_t nl;
+        uint8_t reserved[6];
+        uint8_t id;
+} QEMU_PACKED QEMU_ALIGNED(8) SysIBTl_container;
+QEMU_BUILD_BUG_ON(sizeof(SysIBTl_container) != 8);
+
+/* 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;

Hmmm, yet another bitfield...

Yes, this is the firmware interface.
If it makes problem I can use masks and logic arithmetic

It depends ... if we are sure that this will ever only be used with KVM on real s390x hardware, then bitfields are OK. If we think that this is something that could be implemented in TCG, too, I'd scratch the bitfields and use logic arithmetic instead...

I'm not too experienced with this CPU topology stuff, but it sounds like it could be implemented in TCG without too much efforts one day, too, so I'd rather go with the logic arithmetic immediately instead if it is not too annoying for you right now.

diff --git a/target/s390x/kvm/cpu_topology.c b/target/s390x/kvm/cpu_topology.c
new file mode 100644
index 0000000000..3831a3264c
--- /dev/null
+++ b/target/s390x/kvm/cpu_topology.c
@@ -0,0 +1,136 @@
+/*
+ * QEMU S390x CPU Topology
+ *
+ * Copyright IBM Corp. 2022

Happy new year?

So after Nina's comment what do I do?
let it be 22 because I started last year or update because what is important is when it comes into mainline?

Honestly, I don't have a really good clue either... But keeping 2022 is certainly fine for me, too.

 Thomas




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux