cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

q35-emulated.cfg (6972B)


      1# q35 - Emulated guest (graphical console)
      2# =========================================================
      3#
      4# Usage:
      5#
      6#   $ qemu-system-x86_64 \
      7#     -nodefaults \
      8#     -readconfig q35-emulated.cfg
      9#
     10# You will probably need to tweak the lines marked as
     11# CHANGE ME before being able to use this configuration!
     12#
     13# The guest will have a selection of emulated devices that
     14# closely resembles that of a physical machine, and will be
     15# accessed through a graphical console.
     16#
     17# ---------------------------------------------------------
     18#
     19# Using -nodefaults is required to have full control over
     20# the virtual hardware: when it's specified, QEMU will
     21# populate the board with only the builtin peripherals
     22# plus a small selection of core PCI devices and
     23# controllers; the user will then have to explicitly add
     24# further devices.
     25#
     26# The core PCI devices show up in the guest as:
     27#
     28#   00:00.0 Host bridge
     29#   00:1f.0 ISA bridge / LPC
     30#   00:1f.2 SATA (AHCI) controller
     31#   00:1f.3 SMBus controller
     32#
     33# This configuration file adds a number of devices that
     34# are pretty much guaranteed to be present in every single
     35# physical machine based on q35, more specifically:
     36#
     37#   00:01.0 VGA compatible controller
     38#   00:19.0 Ethernet controller
     39#   00:1a.* USB controller (#2)
     40#   00:1b.0 Audio device
     41#   00:1c.* PCI bridge (PCI Express Root Ports)
     42#   00:1d.* USB Controller (#1)
     43#   00:1e.0 PCI bridge (legacy PCI bridge)
     44#
     45# More information about these devices is available below.
     46
     47
     48# Machine options
     49# =========================================================
     50#
     51# We use the q35 machine type and enable KVM acceleration
     52# for better performance.
     53#
     54# Using less than 1 GiB of memory is probably not going to
     55# yield good performance in the guest, and might even lead
     56# to obscure boot issues in some cases.
     57#
     58# Unfortunately, there is no way to configure the CPU model
     59# in this file, so it will have to be provided on the
     60# command line.
     61
     62[machine]
     63  type = "q35"
     64  accel = "kvm"
     65
     66[memory]
     67  size = "1024"
     68
     69
     70# PCI bridge (PCI Express Root Ports)
     71# =========================================================
     72#
     73# We add four PCI Express Root Ports, all sharing the same
     74# slot on the PCI Express  Root Bus. These ports support
     75# hotplug.
     76
     77[device "ich9-pcie-port-1"]
     78  driver = "ioh3420"
     79  multifunction = "on"
     80  bus = "pcie.0"
     81  addr = "1c.0"
     82  port = "1"
     83  chassis = "1"
     84
     85[device "ich9-pcie-port-2"]
     86  driver = "ioh3420"
     87  multifunction = "on"
     88  bus = "pcie.0"
     89  addr = "1c.1"
     90  port = "2"
     91  chassis = "2"
     92
     93[device "ich9-pcie-port-3"]
     94  driver = "ioh3420"
     95  multifunction = "on"
     96  bus = "pcie.0"
     97  addr = "1c.2"
     98  port = "3"
     99  chassis = "3"
    100
    101[device "ich9-pcie-port-4"]
    102  driver = "ioh3420"
    103  multifunction = "on"
    104  bus = "pcie.0"
    105  addr = "1c.3"
    106  port = "4"
    107  chassis = "4"
    108
    109
    110# PCI bridge (legacy PCI bridge)
    111# =========================================================
    112#
    113# This bridge can be used to build an independent topology
    114# for legacy PCI devices. PCI Express devices should be
    115# plugged into PCI Express slots instead, so ideally there
    116# will be no devices connected to this bridge.
    117
    118[device "ich9-pci-bridge"]
    119  driver = "i82801b11-bridge"
    120  bus = "pcie.0"
    121  addr = "1e.0"
    122
    123
    124# SATA storage
    125# =========================================================
    126#
    127# An implicit SATA controller is created automatically for
    128# every single q35 guest; here we create a disk, backed by
    129# a qcow2 disk image on the host's filesystem, and attach
    130# it to that controller so that the guest can use it.
    131#
    132# We also create an optical disk, mostly for installation
    133# purposes: once the guest OS has been successfully
    134# installed, the guest will no longer boot from optical
    135# media. If you don't want, or no longer want, to have an
    136# optical disk in the guest you can safely comment out
    137# all relevant sections below.
    138
    139[device "sata-disk"]
    140  driver = "ide-hd"
    141  bus = "ide.0"
    142  drive = "disk"
    143  bootindex = "1"
    144
    145[drive "disk"]
    146  file = "guest.qcow2"                          # CHANGE ME
    147  format = "qcow2"
    148  if = "none"
    149
    150[device "sata-optical-disk"]
    151  driver = "ide-cd"
    152  bus = "ide.1"
    153  drive = "optical-disk"
    154  bootindex = "2"
    155
    156[drive "optical-disk"]
    157  file = "install.iso"                          # CHANGE ME
    158  format = "raw"
    159  if = "none"
    160
    161
    162# USB controller (#1)
    163# =========================================================
    164#
    165# EHCI controller + UHCI companion controllers.
    166
    167[device "ich9-ehci-1"]
    168  driver = "ich9-usb-ehci1"
    169  multifunction = "on"
    170  bus = "pcie.0"
    171  addr = "1d.7"
    172
    173[device "ich9-uhci-1"]
    174  driver = "ich9-usb-uhci1"
    175  multifunction = "on"
    176  bus = "pcie.0"
    177  addr = "1d.0"
    178  masterbus = "ich9-ehci-1.0"
    179  firstport = "0"
    180
    181[device "ich9-uhci-2"]
    182  driver = "ich9-usb-uhci2"
    183  multifunction = "on"
    184  bus = "pcie.0"
    185  addr = "1d.1"
    186  masterbus = "ich9-ehci-1.0"
    187  firstport = "2"
    188
    189[device "ich9-uhci-3"]
    190  driver = "ich9-usb-uhci3"
    191  multifunction = "on"
    192  bus = "pcie.0"
    193  addr = "1d.2"
    194  masterbus = "ich9-ehci-1.0"
    195  firstport = "4"
    196
    197
    198# USB controller (#2)
    199# =========================================================
    200#
    201# EHCI controller + UHCI companion controllers.
    202
    203[device "ich9-ehci-2"]
    204  driver = "ich9-usb-ehci2"
    205  multifunction = "on"
    206  bus = "pcie.0"
    207  addr = "1a.7"
    208
    209[device "ich9-uhci-4"]
    210  driver = "ich9-usb-uhci4"
    211  multifunction = "on"
    212  bus = "pcie.0"
    213  addr = "1a.0"
    214  masterbus = "ich9-ehci-2.0"
    215  firstport = "0"
    216
    217[device "ich9-uhci-5"]
    218  driver = "ich9-usb-uhci5"
    219  multifunction = "on"
    220  bus = "pcie.0"
    221  addr = "1a.1"
    222  masterbus = "ich9-ehci-2.0"
    223  firstport = "2"
    224
    225[device "ich9-uhci-6"]
    226  driver = "ich9-usb-uhci6"
    227  multifunction = "on"
    228  bus = "pcie.0"
    229  addr = "1a.2"
    230  masterbus = "ich9-ehci-2.0"
    231  firstport = "4"
    232
    233
    234# Ethernet controller
    235# =========================================================
    236#
    237# We add a Gigabit Ethernet interface to the guest; on the
    238# host side, we take advantage of user networking so that
    239# the QEMU process doesn't require any additional
    240# privileges.
    241
    242[netdev "hostnet"]
    243  type = "user"
    244
    245[device "net"]
    246  driver = "e1000"
    247  netdev = "hostnet"
    248  bus = "pcie.0"
    249  addr = "19.0"
    250
    251
    252# VGA compatible controller
    253# =========================================================
    254#
    255# We use stdvga instead of Cirrus as it supports more video
    256# modes and is closer to what actual hardware looks like.
    257#
    258# If you're running the guest on a remote, potentially
    259# headless host, you will probably want to append something
    260# like
    261#
    262#   -display vnc=127.0.0.1:0
    263#
    264# to the command line in order to prevent QEMU from
    265# creating a graphical display window on the host and
    266# enable remote access instead.
    267
    268[device "video"]
    269  driver = "VGA"
    270  bus = "pcie.0"
    271  addr = "01.0"
    272
    273
    274# Audio device
    275# =========================================================
    276#
    277# The sound card is a legacy PCI device that is plugged
    278# directly into the PCI Express Root Bus.
    279
    280[device "ich9-hda-audio"]
    281  driver = "ich9-intel-hda"
    282  bus = "pcie.0"
    283  addr = "1b.0"
    284
    285[device "ich9-hda-duplex"]
    286  driver = "hda-duplex"
    287  bus = "ich9-hda-audio.0"
    288  cad = "0"