FreeBSD Big Endian in a VM and VirtIO

Timo Völker <[email protected]> Sat, 23 May 2026 08:15:33 +0000
Newsgroups gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>
--Apple-Mail=_D6CDCB66-F858-4E61-A9CC-BFFB2C78450E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi!

How do you run FreeBSD with Big Endian in a VM?

Is qemu the de facto only hypervisor used for this?

To avoid CPU emulation, I installed Debian (Little Endian) on a Raptor =
Blackbird to run a FreeBSD (Big Endian) VM with qemu.

Currently, I=E2=80=99m investigating this bug:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D294706

I think the cause is byte swaps in =
sys/dev/virtio/pci/virtio_pci_modern.c (by virtio_htog*() or =
virtio_gtoh*() function calls) that shouldn=E2=80=99t be done. At least =
if I remove these in my setup, the bug disappears. Now, I wonder, are =
these byte swaps incorrect in my setup but necessary in others (due to =
another hypervisor or the endianness of the host system)?

In my understanding, at the lines where virtio_pci_modern.c uses the =
virtio_htog*() functions, it reads a value from the PCI bus. Since the =
PCI bus uses little endian, it requires a byte swap in a big endian VM, =
but this is already done internally by the bus_space API. So, this would =
mean the byte swaps in virtio_pci_modern.c are incorrect in general and =
shouldn=E2=80=99t be done.

Timo=

--Apple-Mail=_D6CDCB66-F858-4E61-A9CC-BFFB2C78450E
Content-Disposition: attachment; filename="smime.p7s"
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEfUw
ggUSMIID+qADAgECAgkA4wvV+K8l2YEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAkRFMSsw
KQYDVQQKDCJULVN5c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5
c3RlbXMgVHJ1c3QgQ2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAy
MB4XDTE2MDIyMjEzMzgyMloXDTMxMDIyMjIzNTk1OVowgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQK
EzxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMg
ZS4gVi4xEDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtg1/9moUHN0vqH
l4pzq5lN6mc5WqFggEcVToyVsuXPztNXS43O+FZsFVV2B+pG/cgDRWM+cNSrVICxI5y+NyipCf8F
XRgPxJiZN7Mg9mZ4F4fCnQ7MSjLnFp2uDo0peQcAIFTcFV9Kltd4tjTTwXS1nem/wHdN6r1ZB+Ba
L2w8pQDcNb1lDY9/Mm3yWmpLYgHurDg0WUU2SQXaeMpqbVvAgWsRzNI8qIv4cRrKO+KA3Ra0Z3qL
NupOkSk9s1FcragMvp0049ENF4N1xDkesJQLEvHVaY4l9Lg9K7/AjsMeO6W/VRCrKq4Xl14zzsjz
9AkH4wKGMUZrAcUQDBHHWekCAwEAAaOCAXQwggFwMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
k+PYMiba1fFKpZFK4OpL4qIMz+EwHwYDVR0jBBgwFoAUv1kgNgB5oKAia4zV8mHSuCzLgkowEgYD
VR0TAQH/BAgwBgEB/wIBAjAzBgNVHSAELDAqMA8GDSsGAQQBga0hgiwBAQQwDQYLKwYBBAGBrSGC
LB4wCAYGZ4EMAQICMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUv
cmwvVGVsZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3JsMIGGBggrBgEFBQcBAQR6MHgwLAYIKwYB
BQUHMAGGIGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMEgGCCsGAQUFBzAChjxodHRw
Oi8vcGtpMDMzNi50ZWxlc2VjLmRlL2NydC9UZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5jZXIw
DQYJKoZIhvcNAQELBQADggEBAIcL/z4Cm2XIVi3WO5qYi3FP2ropqiH5Ri71sqQPrhE4eTizDnS6
dl2e6BiClmLbTDPo3flq3zK9LExHYFV/53RrtCyD2HlrtrdNUAtmB7Xts5et6u5/MOaZ/SLick0+
hFvu+c+Z6n/XUjkurJgARH5pO7917tALOxrN5fcPImxHhPalR6D90Bo0fa3SPXez7vTXTf/D6OWS
T1k+kEcQSrCFWMBvf/iu7QhCnh7U3xQuTY+8npTD5+32GPg8SecmqKc22CzeIs2LgtjZeOJVEqM7
h0S2EQvVDFKvaYwPBt/QolOLV5h7z/0HJPT8vcP9SpIClxvyt7bPZYoaorVyGTkwggWsMIIElKAD
AgECAgcbY7rQHiw9MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVy
ZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYu
MRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0
aG9yaXR5IDIwHhcNMTYwNTI0MTEzODQwWhcNMzEwMjIyMjM1OTU5WjCBjTELMAkGA1UEBhMCREUx
RTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5n
c25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9i
YWwgSXNzdWluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ07eRxH3h+Gy8Zp
1xCeOdfZojDbchwFfylfS2jxrRnWTOFrG7ELf6Gr4HuLi9gtzm6IOhDuV+UefwRRNuu6cG1joL6W
LkDh0YNMZj0cZGnlm6Stcq5oOVGHecwX064vXWNxSzl660Knl5BpBb+Q/6RAcL0D57+eGIgfn5mI
TQ5HjUhfZZkQ0tkqSe3BuS0dnxLLFdM/fx5ULzquk1enfnjK1UriGuXtQX1TX8izKvWKMKztFwUk
P7agCwf9TRqaA1KgNpzeJIdl5Of6x5ZzJBTN0OgbaJ4YWa52fvfRCng8h0uwN89Tyjo4EPPLR22M
ZD08WkVKusqAfLjz56dMTM0CAwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0P
AQH/BAQDAgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAdBgNV
HQ4EFgQUazqYi/nyU4na4K2yMh4JH+iqO3QwHwYDVR0jBBgwFoAUk+PYMiba1fFKpZFK4OpL4qIM
z+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9v
dC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDBAoD6gPIY6aHR0cDovL2NkcDIucGNhLmRmbi5kZS9n
bG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYIKwYBBQUHAQEEgdAwgc0wMwYI
KwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBKBggrBgEF
BQcwAoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY2FjZXJ0
L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJv
b3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQCBeEWkTqR/
DlXwCbFqPnjMaDWpHPOVnj/z+N9rOHeJLI21rT7H8pTNoAauusyosa0zCLYkhmI2THhuUPDVbmCN
T1IxQ5dGdfBi5G5mUcFCMWdQ5UnnOR7Ln8qGSN4IFP8VSytmm6A4nwDO/afr0X9XLchMX9wQEZc+
lgQCXISoKTlslPwQkgZ7nu7YRrQbtQMMONncsKk/cQYLsgMHM8KNSGMlJTx6e1du94oFOO+4oK4v
9NsH1VuEGMGpuEvObJAaguS5Pfp38dIfMwK/U+d2+dwmJUFvL6Yb+qQTkPp8ftkLYF3sv8pBoGH7
EUkp2KgtdRXYShjqFu9VNCIaE40GMIIHKzCCBhOgAwIBAgIMKJfu4Avrm9jD0KheMA0GCSqGSIb3
DQEBCwUAMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVp
bmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUw
IwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4XDTIzMDYwMTEwMjIxMloXDTI2
MDUzMTEwMjIxMlowgcAxCzAJBgNVBAYTAkRFMRwwGgYDVQQIDBNOb3JkcmhlaW4tV2VzdGZhbGVu
MREwDwYDVQQHDAhNdWVuc3RlcjEUMBIGA1UECgwLRkggTXVlbnN0ZXIxMjAwBgNVBAsMKUZhY2hi
ZXJlaWNoIEVsZWt0cm90ZWNobmlrIHVuZCBJbmZvcm1hdGlrMRAwDgYDVQQEDAdWb2Vsa2VyMQ0w
CwYDVQQqDARUaW1vMRUwEwYDVQQDDAxUaW1vIFZvZWxrZXIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQC6NxkLlOUgXd/NKx6MIsuoXdSNJnOed0kk8gjm9T1jIUEnKPDG4sUDz2F16RX8
tCWulO4DgIf28Cw70fgs7BaLaC+p1xXjFVEb7ZwqRcjpGBQoWIK73zRz9i2RRgRuYsPVQvJsW4n3
/Z3IfG+W4xjKOfnx0ESQMbhxDcPvnqZh3PCi6twoGso5YS/6tvBgYnm6374N29+XWIvNMg7RL+Tw
VFY8mgJyqhFpDjgkAd5HSdUMlAljdnLvqlzalJWoYK2cOWNvKtPgkWoP7puy2JzGEBrnSOF1vhQq
cc/DAMO6IKS+TXiWQWTlLP4BpUlpMS81MnLZAmQgqtCIOZxfvGYjL4gdQ3TpgyYlVOV/tNzVhxKS
xIbyzp4beIocjnwbtWoAB9hkb6ro47V/+1ZgetvHuMAN8wdY/VzjYEW/mPM18t3mmGhzeQVOT9p2
i9wXb222ztd4kZxJclv1jjWkaTthpgQubBsD/uUdYDVZJYdRn+h9pI/C+5JOrq9pOBHVoWSBZVRE
PlIeCyzy3ZLLaNNKNJAPdhKXd9rL9XCirg/W7WZtb87nudMtUf7q1rVOFCt8r/QxyNDxtKAXQSrS
fglP8uwah4Dhy9HBqD49HlFmZRbM7CFiFtptI4ia81GWMx5ecW3N3yhVA2d8kg+ZfeAdgjjmukCr
/WhIBQjpIsL9iwIDAQABo4ICVDCCAlAwPgYDVR0gBDcwNTAPBg0rBgEEAYGtIYIsAQEEMBAGDisG
AQQBga0hgiwBAQQLMBAGDisGAQQBga0hgiwCAQQLMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgXg
MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQU8bYP/Ib2y3qLDL+zAvav
1GuKqUMwHwYDVR0jBBgwFoAUazqYi/nyU4na4K2yMh4JH+iqO3QwJgYDVR0RBB8wHYEbdGltby52
b2Vsa2VyQGZoLW11ZW5zdGVyLmRlMIGNBgNVHR8EgYUwgYIwP6A9oDuGOWh0dHA6Ly9jZHAxLnBj
YS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY3JsL2NhY3JsLmNybDA/oD2gO4Y5aHR0cDov
L2NkcDIucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jcmwvY2FjcmwuY3JsMIHbBggr
BgEFBQcBAQSBzjCByzAzBggrBgEFBQcwAYYnaHR0cDovL29jc3AucGNhLmRmbi5kZS9PQ1NQLVNl
cnZlci9PQ1NQMEkGCCsGAQUFBzAChj1odHRwOi8vY2RwMS5wY2EuZGZuLmRlL2Rmbi1jYS1nbG9i
YWwtZzIvcHViL2NhY2VydC9jYWNlcnQuY3J0MEkGCCsGAQUFBzAChj1odHRwOi8vY2RwMi5wY2Eu
ZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEB
CwUAA4IBAQA8NfEk6w756jTGGqO7a6xfLcOb/YuNHD/nAQ78CQOZKp/Oq3ksmGCvzpaHKYjWSfS1
I++2iuyqMRYWV/6I5ln91LS4gr4fpIOQlriRolxkjHJoYXF1LW8AUP/TUNjZowfeq8WNd+6MW8+g
5nCmfz5uFIbssqszuQ1fTf+vOdV0EBB2g5iJ9zfK1YBlffxYZcWQKCjaawimATctPyH4hfKZbdUS
1lqN+xwyJotBVete21BbBU8Z2NTAQ+YdQxM1OKT4vMD1EKr60bAiziewAtVd/cfPp0jsUct9cvUl
NnKpDGVNhKUlXLzAQC9IRsaeFca3KQ7N1pehFgt+xKc1wWKBMYIEnTCCBJkCAQEwgZ4wgY0xCzAJ
BgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVu
IEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kxJTAjBgNVBAMMHERGTi1W
ZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCiX7uAL65vYw9CoXjANBglghkgBZQMEAgEFAKCCAc8w
GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjYwNTIzMDgxNTMzWjAv
BgkqhkiG9w0BCQQxIgQg+M6WwLgxSBDyriOXFCDcezljmVG9yAn3+Y30Rca1l/wwga8GCSsGAQQB
gjcQBDGBoTCBnjCBjTELMAkGA1UEBhMCREUxRTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVu
ZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZOLVBL
STElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9iYWwgSXNzdWluZyBDQQIMKJfu4Avrm9jD0KheMIGx
BgsqhkiG9w0BCRACCzGBoaCBnjCBjTELMAkGA1UEBhMCREUxRTBDBgNVBAoMPFZlcmVpbiB6dXIg
Rm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UE
CwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9iYWwgSXNzdWluZyBDQQIMKJfu4Avr
m9jD0KheMA0GCSqGSIb3DQEBCwUABIICAGiS1JrFg4vt1VNyvfwImph528kNQpHXEBkDg6iyMGB/
ay7oM+fwVzW7s8Hnf2T9uShDfdCW6tMQ3qumpEyDIbzNX/YJUfav7HDUV2KWJ6EX7n7I6xsnoHYK
/5TdxfV8jfo80B4G+o1vJsPG3Qf83FNxagkDbMTGrP+UXEEUPcmMReK6fx6K4MsDLRN6BiK6XGV3
EbBT0RO+b7tjqIc9vrtdBmvEGSCFRRZd5q/oZRwaHGaqLArgiZI4v2epWT+vnl/VrHHymPp8LaWU
cA/U+t00bZMvbBwUdQkYWMffY2Vry+ES8U2MX55or7LKcH0+FUaZ/q1qGY97jTJDSML7a+kWQicW
ygdPY2bAdqfAuULTEdeGBR983dAJkAizRs/U18H1PwiHoVUBA0WQSfuFQE02j/6Q9ji90+yuz/18
dWHYucPG4sfAPg6ivFpmVYzMY/83yybNf7qtC7pjVrtRAOn24bv6Qg3yzWrks15MU1eSZyUBGJrJ
vRvW1FGdSuFkB4zye0xMG1+cEYcPEXqtLFDRq878SKtkNBX4HpQvaI4MtesZLusjUH69rF5qW6mv
mJfPuYcqzpBsjRLZ/UdXR2QmGdgFbt6QQIOSGtBLfU1a6nL933/GSG2FnlqvGjNWJYpJ2x9wyRJb
+AQqbb9BfKk5t3Nr5cAaUb4GVHIUfeFyAAAAAAAA

--Apple-Mail=_D6CDCB66-F858-4E61-A9CC-BFFB2C78450E--