freebsd-dev/sys
Marcin Wojtas fab2a758cc Fix AccessWidth and BitWidth parsing in SPCR table
The ACPI Specification defines a Generic Address Structure (GAS),
which is used to describe UART controller register layout in the
SPCR table. The driver responsible for parsing it (uart_cpu_acpi)
wrongly associates the Access Size field to the uart_bas's regshft
and the register BitWidth to the regiowidth - according to
the definitions it should be opposite.

This problem remained hidden most likely because the majority of platforms
use 32-bit registers (BitWidth) which are accessed with the according
size (Dword). However on Marvell Armada 8k / Cn913x platforms,
the 32-bit registers should be accessed with Byte granulity, which
unveiled the issue.

This patch fixes above by proper values assignment and slightly improved
parsing.

Note that handling of the AccessWidth set to EFI_ACPI_6_0_UNDEFINED is
needed to work around a buggy SPCR table on EC2 x86 "bare metal" instances.

Reviewed by: manu, imp, cperciva, greg_unrelenting.technology
Obtained from: Semihalf
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D25373
2020-06-24 12:15:27 +00:00
..
amd64 Adapt linuxulator syscalls.master files to the new layout. 2020-06-21 10:09:34 +00:00
arm Fix reboot command on the Raspberry Pi series. 2020-06-22 08:12:21 +00:00
arm64 arm64 armreg.h: fix TCR_TBI1 definition 2020-06-23 15:32:05 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam Use the more descriptive src_ccb and dst_ccb for the two ccbs being merged. 2020-06-20 04:07:23 +00:00
cddl MFOpenZFS: Add basic zfs ioc input nvpair validation 2020-06-23 06:42:39 +00:00
compat In r362552, RB_SET_PARENT is defined, and use in parens in 2020-06-23 22:47:54 +00:00
conf kmod.mk: Don't split out debug symbols if requested 2020-06-23 18:25:31 +00:00
contrib Document upgrade procedure in FREEBSD-upgrade 2020-06-04 20:48:57 +00:00
crypto Add support for requests with separate AAD to aesni(4). 2020-06-22 23:22:13 +00:00
ddb [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
dev Fix AccessWidth and BitWidth parsing in SPCR table 2020-06-24 12:15:27 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs Add some missing parts for supporting va_birthtime. 2020-06-22 08:23:16 +00:00
gdb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
geom Optimize g_journal's superblock update by noting that the summary 2020-06-23 21:44:00 +00:00
gnu dts: patch the am33xx dts for upcoming clock support 2020-06-05 20:14:54 +00:00
i386 Adapt linuxulator syscalls.master files to the new layout. 2020-06-21 10:09:34 +00:00
isa sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
kern vfs: track sequential reads and writes separately 2020-06-21 08:51:24 +00:00
kgssapi Add support for optional separate output buffers to in-kernel crypto. 2020-05-25 22:12:04 +00:00
libkern libkern: Add arc4random_uniform 2020-05-23 17:51:06 +00:00
mips [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
modules Add DTB files for ARMADA 8040 based boards. 2020-06-19 14:28:56 +00:00
net iflib: netmap: fix rsync index overrun 2020-06-23 20:23:56 +00:00
net80211 [net80211] Add missing commit to previous-1 uapsd commit. 2020-06-16 00:28:45 +00:00
netgraph Update event masks constant to Bluetooth core spec V5.2 2020-06-15 14:58:40 +00:00
netinet Fix alignment issue manifesting in the userland stack. 2020-06-23 23:05:05 +00:00
netinet6 Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
netipsec Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
netpfil Add the SCTP_SUPPORT kernel option. 2020-06-18 19:32:34 +00:00
netsmb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
nfs Use epoch(9) for rtentries to simplify control plane operations. 2020-05-23 10:21:02 +00:00
nfsclient
nfsserver
nlm Fix export_args ex_flags field so that is 64bits, the same as mnt_flags. 2020-06-14 00:10:18 +00:00
ofed Convert OFED rtable interactions to the new routing KPI. 2020-04-15 13:06:55 +00:00
opencrypto Store the AAD in a separate buffer for KTLS. 2020-06-23 00:02:28 +00:00
powerpc [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
riscv riscv: Use SBI shutdown call to implement RB_POWEROFF 2020-06-08 17:57:21 +00:00
rpc Fix up a comment added by r362455. 2020-06-21 02:49:56 +00:00
security mac_veriexec_fingerprint_check_vnode: v_writecount > 0 means active writers 2020-06-12 21:51:20 +00:00
sys Define RB_SET_PARENT to do all assignments to rb parent 2020-06-23 20:02:55 +00:00
teken
tests Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tools vfs: stop null checking routines in vop wrappers 2020-01-26 00:41:38 +00:00
ufs The binary representation of the superblock (the fs structure) is written 2020-06-19 01:04:25 +00:00
vm Clarify some language. Favor primary where both master and primary were 2020-06-20 20:21:04 +00:00
x86 Assume all TSCs are synchronized for AMD Family 17h processors and later 2020-06-22 20:42:58 +00:00
xdr Split XDR into separate kernel module. Make krpc depend on xdr. 2020-04-17 06:04:20 +00:00
xen Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (16 of many) 2020-02-25 19:04:39 +00:00
Makefile Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00