mbox series

[0/3] hw/i386: Add MTD controller on ICH9

Message ID 20231018115231.3547102-1-patrick.rudolph@9elements.com
Headers show
Series hw/i386: Add MTD controller on ICH9 | expand

Message

Patrick Rudolph Oct. 18, 2023, 11:52 a.m. UTC
This series implements a feature complete MTD SPI flash controller
as found on real ICH9, adds cache coherent BIOS MMAPing and implements
a few SMM bits to allow x86 firmware build for real ICH9 to operate on
the flash controller to store (UEFI) variables or do firmware updates.

Patrick Rudolph (3):
  hw/isa/ich9: Add SPI controller
  hw/isa/lpc_ich9: Implement SMI_STS for APMC
  hw/i386/pc_sysfw: Do not create BIOS region if MTD is present

 hw/acpi/ich9.c                    |   5 +
 hw/acpi/ich9_tco.c                |   5 +
 hw/i386/pc_sysfw.c                |   6 +
 hw/isa/Kconfig                    |   2 +
 hw/isa/lpc_ich9.c                 |   4 +
 hw/isa/meson.build                |   2 +-
 hw/isa/spi_ich9.c                 | 448 ++++++++++++++++++++++++++++++
 include/hw/southbridge/ich9.h     |   6 +
 include/hw/southbridge/ich9_spi.h |  80 ++++++
 9 files changed, 557 insertions(+), 1 deletion(-)
 create mode 100644 hw/isa/spi_ich9.c
 create mode 100644 include/hw/southbridge/ich9_spi.h

Comments

Michael S. Tsirkin Oct. 18, 2023, 1:47 p.m. UTC | #1
On Wed, Oct 18, 2023 at 01:52:28PM +0200, Patrick Rudolph wrote:
> This series implements a feature complete MTD SPI flash controller
> as found on real ICH9, adds cache coherent BIOS MMAPing and implements
> a few SMM bits to allow x86 firmware build for real ICH9 to operate on
> the flash controller to store (UEFI) variables or do firmware updates.
> 
> Patrick Rudolph (3):
>   hw/isa/ich9: Add SPI controller
>   hw/isa/lpc_ich9: Implement SMI_STS for APMC
>   hw/i386/pc_sysfw: Do not create BIOS region if MTD is present


Given all this is guest-visible, one thing we need for sure is
a flag disabling this new stuff, and tied to existing machine types.

>  hw/acpi/ich9.c                    |   5 +
>  hw/acpi/ich9_tco.c                |   5 +
>  hw/i386/pc_sysfw.c                |   6 +
>  hw/isa/Kconfig                    |   2 +
>  hw/isa/lpc_ich9.c                 |   4 +
>  hw/isa/meson.build                |   2 +-
>  hw/isa/spi_ich9.c                 | 448 ++++++++++++++++++++++++++++++
>  include/hw/southbridge/ich9.h     |   6 +
>  include/hw/southbridge/ich9_spi.h |  80 ++++++
>  9 files changed, 557 insertions(+), 1 deletion(-)
>  create mode 100644 hw/isa/spi_ich9.c
>  create mode 100644 include/hw/southbridge/ich9_spi.h
> 
> -- 
> 2.41.0