diff options
Diffstat (limited to 'pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch')
-rw-r--r-- | pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch b/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch deleted file mode 100644 index 50e9b8c714..0000000000 --- a/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch +++ /dev/null @@ -1,62 +0,0 @@ -Read max_cpus variable from QEMU_CFG. If not provided, use value of -smp_cpus. - -Signed-off-by: Jes Sorensen <jes@sgi.com> - -diff --git a/bios/rombios.h b/bios/rombios.h -index 8ece2ee..dbf3bd3 100644 ---- a/bios/rombios.h -+++ b/bios/rombios.h -@@ -65,6 +65,7 @@ - #define QEMU_CFG_UUID 0x02 - #define QEMU_CFG_NUMA 0x0d - #define QEMU_CFG_BOOT_MENU 0x0e -+#define QEMU_CFG_MAX_CPUS 0x0f - #define QEMU_CFG_ARCH_LOCAL 0x8000 - #define QEMU_CFG_ACPI_TABLES (QEMU_CFG_ARCH_LOCAL + 0) - #define QEMU_CFG_SMBIOS_ENTRIES (QEMU_CFG_ARCH_LOCAL + 1) -diff --git a/bios/rombios32.c b/bios/rombios32.c -index 69e82b1..610fc1f 100644 ---- a/bios/rombios32.c -+++ b/bios/rombios32.c -@@ -436,6 +436,7 @@ void delay_ms(int n) - } - - uint16_t smp_cpus; -+uint16_t max_cpus; - uint32_t cpuid_signature; - uint32_t cpuid_features; - uint32_t cpuid_ext_features; -@@ -526,6 +527,19 @@ static uint16_t smbios_entries(void) - return cnt; - } - -+static uint16_t get_max_cpus(void) -+{ -+ uint16_t cnt; -+ -+ qemu_cfg_select(QEMU_CFG_MAX_CPUS); -+ qemu_cfg_read((uint8_t*)&cnt, sizeof(cnt)); -+ -+ if (!cnt) -+ cnt = smp_cpus; -+ -+ return cnt; -+} -+ - uint64_t qemu_cfg_get64 (void) - { - uint64_t ret; -@@ -2689,6 +2703,12 @@ void rombios32_init(uint32_t *s3_resume_vector, uint8_t *shutdown_flag) - - smp_probe(); - -+#ifdef BX_QEMU -+ max_cpus = get_max_cpus(); -+#else -+ max_cpus = smp_cpus; -+#endif -+ - find_bios_table_area(); - - if (*shutdown_flag == 0xfe) { |