On Fri, Dec 11, 2020 at 10:46:00AM -0500, Kevin O'Connor wrote:
> On Thu, Dec 10, 2020 at 04:26:21PM -0500, Eduardo Habkost wrote:
> > This series implements support for SMBIOS 3.0 entry points in
> >
> > SeaBIOS.
> >
> >
> > The main advantage of SMBI
Support SMBIOS 3.0 entry points if exposed by QEMU in fw_cfg.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 33 ++---
1 file changed, 30 insertions(+), 3 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 5ff1b0ed..1c09a785 100644
(), and
smbios_minor_version() helpers to use the SMBIOS 3.0 entry point
if available.
Signed-off-by: Eduardo Habkost
---
src/std/smbios.h| 13 +
src/fw/biostables.c | 36 ++--
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/src/std/smbios.h
This will make coreboot code (scan_tables()) and xen code
(xen_biostable_setup()) copy SMBIOS 3.0 entry points if
found.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index b2c84a12..5ff1b0ed
Make smbios_build_tables() get u64 address and u32 length
arguments, making it usable for SMBIOS 3.0. Adapt
smbios_21_setup_entry_point() to use intermediate variables when
calling smbios_build_tables().
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 16 +---
1 file
Make max_structure_size and number_of_structures optional,
as we don't have those fields in SMBIOS 3.0 entry points.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index
Extract the code specific for building the SMBIOS 2.1 entry point
from smbios_romfile_setup() to a new
smbios_21_setup_entry_point() function.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 33 -
1 file changed, 20 insertions(+), 13 deletions(-)
diff
Instead of taking a SMBIOS 2.1 entry point as argument, make
smbios_build_tables() take pointers to the fields it actually
changes. This will allow us to reuse the function for SMBIOS 3.0
later.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 32 +++-
1
commits.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 54 -
1 file changed, 34 insertions(+), 20 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 11eaeaec..5eeceb52 100644
--- a/src/fw/biostables.c
+++ b/src/fw
off-by: Eduardo Habkost
---
src/fw/biostables.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 47463be9..11eaeaec 100644
--- a/src/fw/biostables.c
+++ b/src/fw/biostables.c
@@ -477,16 +477,17 @@ smbios_romfile_setup(v
The variable is now only used inside biostables.c, there's no
need to make it global.
Signed-off-by: Eduardo Habkost
---
src/util.h | 1 -
src/fw/biostables.c | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/util.h b/src/util.h
index 2e151752..aff8e888 100644
copy_smbios_21() already checks if SMBios21Addr is NULL, there's
no need to check it before calling the function.
Signed-off-by: Eduardo Habkost
---
src/fw/csm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fw/csm.c b/src/fw/csm.c
index 74069028..bc14a925 100644
Instead of using the SMBios21Addr global variable, use the
smbios_get_tables() helper. This doesn't change any behavior
yet, but it will be useful when we start supporting SMBIOS 3.0
entry points.
Signed-off-by: Eduardo Habkost
---
src/tcgbios.c | 10 +-
1 file changed, 5 insertions
They new helpers will be useful when we start supporting SMBIOS
3.0 entry points. Use the new helpers at display_uuid().
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 24 +---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/fw/biostables.c b
Make the code more generic, and not specific for SMBIOS 2.1 entry
points.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 1adc694c..d22ab643 100644
--- a/src/fw
Extract generic code from smbios_21_next(), so it can be reused
for SMBIOS 3.0 support.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 16
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 8e53ae2e..3c30331e
The new function will be useful for code that just needs the
address and length of SMBIOS tables.
Signed-off-by: Eduardo Habkost
---
src/util.h | 1 +
src/fw/biostables.c | 9 +
2 files changed, 10 insertions(+)
diff --git a/src/util.h b/src/util.h
index f761271c..2e151752
Rename copy_smbios(), smbios_next(), SMBIOS_SIGNATURE,
smbios_entry_point, and SMBiosAddr, to indicate they refer to
SMBIOS 2.1 entry points.
Signed-off-by: Eduardo Habkost
---
src/std/smbios.h| 4 ++--
src/util.h | 4 ++--
src/fw/biostables.c | 36
The get_smbios_entry_point() function doesn't exist, delete
unused prototype.
Signed-off-by: Eduardo Habkost
---
src/util.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/util.h b/src/util.h
index 0de35229..652ca6b1 100644
--- a/src/util.h
+++ b/src/util.h
@@ -88,7 +88,6 @@ u32
Replace the common malloc_fseg() + memcpy() code pattern
with a helper function.
Signed-off-by: Eduardo Habkost
---
src/fw/biostables.c | 40
1 file changed, 16 insertions(+), 24 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index
This series implements support for SMBIOS 3.0 entry points in
SeaBIOS.
The main advantage of SMBIOS 3.0 entry points is the higher limit
for total table size. The SMBIOS 2.1 64435 bytes limit can be
easily hit in QEMU if creating virtual machines with more than
720 VCPUs.
Eduardo
On Tue, Aug 20, 2019 at 06:21:28PM +0200, Philippe Mathieu-Daudé wrote:
> Cc'ing Eduardo, Paolo.
>
> On 8/20/19 3:38 PM, Philippe Mathieu-Daudé wrote:
> > On 8/20/19 3:12 PM, John Snow wrote:
> >> On 8/20/19 6:25 AM, Philippe Mathieu-Daudé wrote:
> >>> [cross posting QEMU & SeaBIOS]
> >>>
> >>>
On Wed, Sep 20, 2017 at 09:52:01AM +, Aleksandr Bezzubikov wrote:
> ср, 20 сент. 2017 г. в 10:13, Marcel Apfelbaum <mar...@redhat.com>:
>
> > On 19/09/2017 23:34, Eduardo Habkost wrote:
> > > On Fri, Aug 18, 2017 at 02:36:47AM +0300, Aleksandr Bezzubikov wr
On Fri, Aug 18, 2017 at 02:36:47AM +0300, Aleksandr Bezzubikov wrote:
> Introduce a new PCIExpress-to-PCI Bridge device,
> which is a hot-pluggable PCI Express device and
> supports devices hot-plug with SHPC.
>
> This device is intended to replace the DMI-to-PCI Bridge.
>
> Signed-off-by:
On Thu, Dec 17, 2015 at 11:40:49AM +0100, Gerd Hoffmann wrote:
> Only old machine types which don't use the acpi builder (qemu 1.7 + older)
> have to load that file for proper acpi support.
>
> Signed-off-by: Gerd Hoffmann
> ---
> hw/i386/pc_q35.c | 5 -
> 1 file changed,
sed
> >> via
> >> qemu -uuid option. An example is reported here:
> >>
> >> https://bugzilla.redhat.com/show_bug.cgi?id=1284259
> >>
> >> This is due to:
> >>
> >> commit caad057bb6ce86a9cb71520af395fd0bd04a659f
> >> Author
by default for all machine types
including 1.7 as it was never exposed/used by guest.
And properly remove/cleanup it during 1.8 development cycle.
Signed-off-by: Igor Mammedov imamm...@redhat.com
Reviewed-by: Eduardo Habkost ehabk...@redhat.com
--
Eduardo
On Wed, Mar 20, 2013 at 02:18:00PM +0800, li guang wrote:
在 2013-01-09三的 01:08 +0100,Andreas Färber写道:
Am 18.12.2012 13:41, schrieb Vasilis Liaskovitis:
Because dimm layout needs to be configured on machine-boot, all dimm
devices
need to be specified on startup command line (either
-by: Michael S. Tsirkin m...@redhat.com
Thanks!
Signed-off-by: Michael S. Tsirkin m...@redhat.com
Acked-by: Eduardo Habkost ehabk...@redhat.com
diff --git a/src/acpi-dsdt-cpu-hotplug.dsl b/src/acpi-dsdt-cpu-hotplug.dsl
index 0f3e83b..c96ac42 100644
--- a/src/acpi-dsdt-cpu-hotplug.dsl
On Thu, Jul 26, 2012 at 05:55:09PM +0300, Avi Kivity wrote:
On 07/26/2012 05:16 PM, Eduardo Habkost wrote:
It's possible to replace the atomic read of CountCPUs with the bitmap
weight
calculation on the loop, but: is it really worth it?
Why not? This eliminates one more global
On Mon, Jul 23, 2012 at 03:20:14PM +0300, Gleb Natapov wrote:
On Fri, Jul 20, 2012 at 02:04:50PM -0300, Eduardo Habkost wrote:
Extract Local APIC IDs directly from the CPUs, and instead of check for
i CountCPUs, check if the APIC ID was present on boot, when building
ACPI tables and the MP
Changes v2 - v3:
- Report I/O APIC ID = 0 on MP-table, too
Changes v1 - v2:
- Patch 1/2: cosmetic whitespace change
- Patch 2/2: use size suffixes on asm instructions on smp.c
- New patch descriptions
Eduardo Habkost (2):
report real I/O APIC ID (0) on MADT and MP-table (v3)
allow CPUs
reality.
Changes v2 - v3:
- Fix MP-table too, not just ACPI MADT table
Changes v1 - v2:
- Cosmetic: whitespace change (removed extra newline)
- New patch description
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
src/acpi.c|2 +-
src/config.h |1 +
src/mptable.c |2 +-
3
be exactly the
same. This patch will simply allow QEMU to start setting non-contiguous
APIC IDs (that is a requirement for some sockets/cores/threads topology
settings).
Changes v1 - v2:
- Use size suffixes on all asm instructions on smp.c
- New patch description
Signed-off-by: Eduardo Habkost ehabk
On Mon, Jul 23, 2012 at 02:42:27PM +0300, Gleb Natapov wrote:
On Fri, Jul 20, 2012 at 01:22:43PM -0300, Eduardo Habkost wrote:
On Fri, Jul 20, 2012 at 12:18:59AM +0300, Gleb Natapov wrote:
On Thu, Jul 19, 2012 at 05:52:41PM -0300, Eduardo Habkost wrote:
When resetting an I/O APIC, its ID
On Mon, Jul 23, 2012 at 03:16:30PM +0300, Gleb Natapov wrote:
On Fri, Jul 20, 2012 at 02:04:49PM -0300, Eduardo Habkost wrote:
When resetting an I/O APIC, its ID is set to 0, and SeaBIOS doesn't
change it, so report it correctly on the MADT table.
Some hardware may require the BIOS
On Mon, Jul 23, 2012 at 07:11:11PM +, Blue Swirl wrote:
On Mon, Jul 23, 2012 at 6:59 PM, Eduardo Habkost ehabk...@redhat.com wrote:
On Mon, Jul 23, 2012 at 04:49:07PM +, Blue Swirl wrote:
On Mon, Jul 16, 2012 at 5:42 PM, Eduardo Habkost ehabk...@redhat.com
wrote:
On Sat, Jul 14
On Mon, Jul 23, 2012 at 07:25:01PM +, Blue Swirl wrote:
On Mon, Jul 23, 2012 at 7:09 PM, Eduardo Habkost ehabk...@redhat.com wrote:
On Mon, Jul 23, 2012 at 06:40:51PM +, Blue Swirl wrote:
On Fri, Jul 20, 2012 at 8:00 PM, Eduardo Habkost ehabk...@redhat.com
wrote:
Hi,
While
On Fri, Jul 20, 2012 at 12:18:59AM +0300, Gleb Natapov wrote:
On Thu, Jul 19, 2012 at 05:52:41PM -0300, Eduardo Habkost wrote:
When resetting an I/O APIC, its ID is set to 0, so set it to 0 on the
MADT table too.
Actually BIOS needs to configure ioapic id to a uniqe value. This does
v1 - v2:
- Cosmetic: whitespace change (removed extra newline)
- New patch description
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
src/acpi.c |2 +-
src/config.h |1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/acpi.c b/src/acpi.c
index d39cbd9
be exactly the
same. This patch will simply allow QEMU to start setting non-contiguous
APIC IDs (that is a requirement for some sockets/cores/threads topology
settings).
Changes v1 - v2:
- Use size suffixes on all asm instructions on smp.c
- New patch description
Signed-off-by: Eduardo Habkost ehabk
Small changes from the previous series:
- Patch 1/2: cosmetic whitespace change
- Patch 2/2: use size suffixes on asm instructions on smp.c
- New patch descriptions
Eduardo Habkost (2):
acpi: report real I/O APIC ID (0) on MADT table
allow CPUs to have non-contiguous Local APIC IDs (v2
On Thu, Jul 19, 2012 at 11:28:54AM -0300, Eduardo Habkost wrote:
On Thu, Jul 19, 2012 at 12:58:46PM +0300, Gleb Natapov wrote:
On Tue, Jul 17, 2012 at 06:56:30PM -0300, Eduardo Habkost wrote:
This patch is an attempt to fix the non-continguous-APIC-ID problem
without
.
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
src/acpi-dsdt.dsl |4 +++-
src/acpi.c|9 +
src/mptable.c |2 +-
src/smp.c | 17 +
src/util.h|1 +
5 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/src/acpi
When resetting an I/O APIC, its ID is set to 0, so set it to 0 on the
MADT table too.
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
src/acpi.c |2 +-
src/config.h |2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/acpi.c b/src/acpi.c
index 55e4607
On Thu, Jul 19, 2012 at 09:12:54PM -0400, Kevin O'Connor wrote:
On Thu, Jul 19, 2012 at 05:52:42PM -0300, Eduardo Habkost wrote:
Extract Local APIC IDs directly from the CPUs, and instead of check for
i CountCPUs, check if the APIC ID was present on boot, when building
ACPI tables
to know what others think about this approach. I think it
is a much simpler approach than relying on some APIC ID = CPU ID
translation to make Seabios and QEMU agree. This way, Seabios has
absolute freedom to choose the ACPI Processor IDs.
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
src
On Thu, Jul 12, 2012 at 07:29:02PM +, Blue Swirl wrote:
[...]
CODING_STYLE requires CamelCase, also below.
[...]
+struct lapic_info_table *lapic_table = g_malloc0(lapic_info_size);;
;--
+lapic_table-count = max_cpus;
+for (i = 0; i max_cpus; i++) {
+
On Thu, Jul 12, 2012 at 07:37:26PM +, Blue Swirl wrote:
On Tue, Jul 10, 2012 at 8:22 PM, Eduardo Habkost ehabk...@redhat.com wrote:
[...]
+#ifndef __QEMU_X86_TOPOLOGY_H__
+#define __QEMU_X86_TOPOLOGY_H__
Please remove the leading and trailing underscores. The name should
match
The CPU ID in KVM is supposed to be the APIC ID, so change the
KVM_CREATE_VCPU call to match it. It didn't break anything yet because
today the APIC ID is assumed to be == the CPU index, but this won't be
true in the future.
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
kvm-all.c |2
NOTE: this is unfinished, and will break live-migration between older
and newer QEMU versions if applied as-is. We need to make the older
machine-types keep the existing behavior when generating APIC IDs.
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
target-i386/cpu.h |7 +++
1
Hi,
This is more a call for discussion than a request for comments in the actual
code.
Our problem today is:
- Lots of QEMU and Seabios code have the assumption that Initial
APIC ID == CPU index (in other words, that APIC IDs are always contiguous
and start at 0);
- However, the Initial
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
hw/pc.c | 23 +++
1 file changed, 23 insertions(+)
diff --git a/hw/pc.c b/hw/pc.c
index 3b8e469..dc95fb8 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -71,6 +71,7 @@
#define FW_CFG_IRQ0_OVERRIDE (FW_CFG_ARCH_LOCAL + 2
Signed-off-by: Eduardo Habkost ehabk...@redhat.com
---
hw/apic.c | 34 +-
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/hw/apic.c b/hw/apic.c
index 60552df..d322fe3 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -50,7 +50,7 @@ static int ffs_bit
This changes:
- MADT table generation
- SRAT table generation
Still missing:
- The _MAT method on SSDT Processor entries still return the wrong APIC
ID (breaking CPU hotplug)
- The MPTable generation code doesn't take the new APIC IDs into
account
Signed-off-by: Eduardo Habkost ehabk
55 matches
Mail list logo