summary refs log tree commit diff stats
path: root/include/hw/virtio/virtio-net.h
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2015-06-25 15:35:06 +0200
committerMichael S. Tsirkin <mst@redhat.com>2015-07-08 10:09:55 +0300
commitb86f46132cd86b03f9e4a1cf6295f8b416e16afa (patch)
tree54bf7e2a0bed3577d9395bd2d7e3bab918c16e18 /include/hw/virtio/virtio-net.h
parent7444ca4ee2382170774ae201c473270d65620d75 (diff)
downloadfocaccia-qemu-b86f46132cd86b03f9e4a1cf6295f8b416e16afa.tar.gz
focaccia-qemu-b86f46132cd86b03f9e4a1cf6295f8b416e16afa.zip
hw/i386/pc: reflect any FDC @ ioport 0x3f0 in the CMOS
With the pc-q35-2.4 machine type, if the user creates an ISA FDC manually:

  -device isa-fdc,driveA=drive-fdc0-0-0 \
  -drive file=...,if=none,id=drive-fdc0-0-0,format=raw

then the board-default FDC will be skipped, and only the explicitly
requested FDC will exist. qtree-wise, this is correct; however such an FDC
is currently not registered in the CMOS, because that code is only reached
for the board-default FDC.

The pc_cmos_init_late() one-shot reset handler -- one-shot because the
CMOS is not reprogrammed during warm reset -- should search for any ISA
FDC devices, created implicitly (by board code) or explicitly, and set the
CMOS accordingly to the ISA FDC(s) with iobase=0x3f0:

- if there is no such FDC, report both drives absent,
- if there is exactly one such FDC, report its drives in the CMOS,
- if there are more than one such FDCs, then pick one (it is not specified
  which one), and print a warning about the ambiguity.

Cc: Jan Tomko <jtomko@redhat.com>
Cc: John Snow <jsnow@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reported-by: Jan Tomko <jtomko@redhat.com>
Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw/virtio/virtio-net.h')
0 files changed, 0 insertions, 0 deletions