qemu/hw
Lev Kujawski fd8a68ad68 hw/block/hd-geometry: Do not override specified bios-chs-trans
For small disk images (<4 GiB), QEMU and SeaBIOS default to the
LARGE/ECHS disk translation method, but it is not uncommon for other
BIOS software to use LBA in these cases as well.  Some operating
system boot loaders (e.g., NT 4) do not handle LARGE translations
outside of fixed configurations.  See, e.g., Q154052:

"When starting an x86 based computer, Ntdetect.com retrieves and
stores Interrupt 13 information. . . If the disk controller is using a
32 sector/64 head translation scheme, this boundary will be 1 GB. If
the controller uses 63 sector/255 head translation [AUTHOR: i.e.,
LBA], the limit will be 4 GB."

To accommodate these situations, hd_geometry_guess() now follows the
disk translation specified by the user even when the ATA disk geometry
is guessed.

hd_geometry_guess():
* Only set the disk translation when translation is AUTO.
* Show the soon-to-be active translation (*ptrans) in the trace rather
  than what was guessed.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/56
Buglink: https://bugs.launchpad.net/qemu/+bug/1745312

Signed-off-by: Lev Kujawski <lkujaw@member.fsf.org>
Message-Id: <20220707204045.999544-1-lkujaw@member.fsf.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2022-08-02 11:21:56 +02:00
..
9pfs
acpi acpi/nvdimm: Define trace events for NVDIMM and substitute nvdimm_debug() 2022-07-26 10:37:46 -04:00
adc
alpha
arm aspeed queue: 2022-08-01 13:55:11 -07:00
audio
avr
block hw/block/hd-geometry: Do not override specified bios-chs-trans 2022-08-02 11:21:56 +02:00
char
core misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
cpu
cris
cxl
display vga: fix incorrect line height in 640x200x2 mode 2022-07-28 15:36:17 +02:00
dma
gpio
hppa
hyperv
i2c
i386 i386/pc: restrict AMD only enforcing of 1Tb hole to new machine type 2022-07-26 10:40:58 -04:00
ide
input
intc misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
ipack
ipmi ipmi:smbus: Add a check around a memcpy 2022-08-01 06:40:50 -05:00
isa
loongarch hw/loongarch: Change macro name 'LS7A_XXX' to 'VIRT_XXX' 2022-07-29 15:07:55 -07:00
m68k
mem
microblaze
mips hw/mips: boston: pass random seed to fdt 2022-07-22 19:01:44 +02:00
misc trivial: Fix duplicated words 2022-08-01 11:58:02 +02:00
net e1000e: Fix possible interrupt loss when using MSI 2022-07-26 16:23:54 +08:00
nios2 hw/nios2: virt: pass random seed to fdt 2022-07-22 19:01:44 +02:00
nubus
nvme hw/nvme: do not enable ioeventfd by default 2022-08-01 12:01:21 +02:00
nvram
openrisc
pci
pci-bridge
pci-host i386/pc: create pci-host qdev prior to pc_memory_init() 2022-07-26 10:40:58 -04:00
pcmcia
ppc hw/ppc/ppc440_uc: Initialize length passed to cpu_physical_memory_map() 2022-07-28 10:31:54 -03:00
rdma
remote
riscv
rtc
rx hw/rx: pass random seed to fdt 2022-07-22 19:01:44 +02:00
s390x misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
scsi
sd
sensor
sh4
smbios
sparc
sparc64
ssi
timer
tpm
tricore
usb misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
vfio
virtio hw/virtio/virtio-iommu: Enforce power-of-two notify for both MAP and UNMAP 2022-07-26 15:33:29 -04:00
watchdog
xen
xenpv
xtensa
Kconfig
meson.build