qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC 0/9] Introduce light weight PC platform pc-lite


From: Chao Peng
Subject: [Qemu-devel] [RFC 0/9] Introduce light weight PC platform pc-lite
Date: Fri, 17 Jun 2016 04:14:08 -0400

This patchset is against commit 585fcd4 (Merge remote-tracking branch
'remotes/bonzini/tags/for-upstream' into staging) on master branch. I
also put it on github:

https://github.com/chao-p/qemu pc-lite-v1
 
Although we have run the patchset internally for a while but it is still
considered as RFC. Any comments (coding style or design issue) are
welcome.

Introduction
============
The patch series introduces a new platform pc-lite, which is designed to
be a virtual and light weight x86 PC platform. It is not designed to be
compatible with old hardware and system. Instead, It removes the burden
of legacy devices and emulates new fast hardware as much as possible. It
is expected to be used together with optimized guest (though unoptimized
guest works as well) to gain fast booting and small footprint benefits
that are difficult to achieve for traditional hardware-emulated
platform.

Basically:
- it removes old ISA devices and support only PCI devices;
- it removes 8259, instead use MSI as much as possible. IOAPIC and PCI
  PIN are still kept to support ACPI SCI;
- it supports PCIE ( you can use MMFG instead of 0xcf8/0xcfc port
  access);
- it gets rid of legacy firmware interfaces and supports ACPI tables;
- it loads guest kernel directly, no BIOS, no bootloader, no realmode
  code;
- it supports CPU/memory/PCI hotplug;
- it is FAST;

However:
- it supports KVM-host only at present;
- it supports Linux-guest only at present;
- You may need carefully configure guest kernel;
- You are forced to use virtio-serial-pci, old 8250/16550 is not there;

Want to have a try?
===================

Please follow https://github.com/chao-p/qemu-lite-tools.

Thanks,
Chao

Chao Peng (6):
  acpi: introduce light weight ACPI PM emulation pm-lite
  pci: introduce light weight PCIE Host emulation pci-lite
  acpi: add support for pc-lite platform
  pc: skip setting CMOS data when RTC device is unavailable
  pc: support direct loading protected/long mode kernel
  pc: introduce light weight PC board pc-lite

Haozhong Zhang (3):
  acpi: expose data structurs and functions of BIOS linker loader
  acpi: expose acpi_checksum()
  acpi: patch guest ACPI for pc-lite

 default-configs/i386-softmmu.mak     |   1 +
 default-configs/x86_64-softmmu.mak   |   1 +
 docs/specs/acpi_cpu_hotplug.txt      |   1 +
 hw/acpi/Makefile.objs                |   2 +-
 hw/acpi/bios-linker-loader.c         |  83 +------
 hw/acpi/core.c                       |   2 +-
 hw/acpi/nvdimm.c                     |   6 +-
 hw/acpi/pm_lite.c                    | 446 +++++++++++++++++++++++++++++++++++
 hw/i386/Makefile.objs                |   2 +-
 hw/i386/acpi-build.c                 | 180 +++++++++-----
 hw/i386/pc.c                         | 263 ++++++++++++++++++---
 hw/i386/pc_lite.c                    | 205 ++++++++++++++++
 hw/i386/pc_lite_acpi.c               | 299 +++++++++++++++++++++++
 hw/i386/pc_piix.c                    |   2 +
 hw/i386/pc_q35.c                     |   2 +
 hw/pci-host/Makefile.objs            |   1 +
 hw/pci-host/pci_lite.c               | 259 ++++++++++++++++++++
 include/hw/acpi/acpi.h               |   2 +
 include/hw/acpi/bios-linker-loader.h |  85 +++++++
 include/hw/acpi/pc-hotplug.h         |   1 +
 include/hw/acpi/pm_lite.h            |   6 +
 include/hw/i386/pc.h                 |  17 ++
 include/hw/i386/pc_lite_acpi.h       |  10 +
 23 files changed, 1697 insertions(+), 179 deletions(-)
 create mode 100644 hw/acpi/pm_lite.c
 create mode 100644 hw/i386/pc_lite.c
 create mode 100644 hw/i386/pc_lite_acpi.c
 create mode 100644 hw/pci-host/pci_lite.c
 create mode 100644 include/hw/acpi/pm_lite.h
 create mode 100644 include/hw/i386/pc_lite_acpi.h

-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]