diff options
| author | Alexander Hansen <alexander.hansen@9elements.com> | 2026-10-15 19:40:03 +0300 |
|---|---|---|
| committer | Alexander <alexander.hansen@9elements.com> | 2026-10-16 18:13:13 +0300 |
| commit | f7462c2d9840733b0433549d43866bc4c9ec8c2a (patch) | |
| tree | f6cce786ee6aeb841a0d88704634657176c5d85d /upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-invoke | |
| parent | 2c2b390b73d6fff045c479e87ea4eea0b004f673 (diff) | |
| download | openbmc-f7462c2d9840733b0433549d43866bc4c9ec8c2a.tar.xz | |
meta-facebook: yosemite4: NIC present read fail
Return from setup_nic() when devmem fails instead of interpreting its
empty output as an active-low presence signal. Continue checking the
remaining NICs.
Use 32-bit accesses for the word-aligned ASPEED GPIO registers.
The previous byte accesses cause SIGBUS under QEMU and can trigger
spurious endpoint setup and core dump collection.
```
root@yosemite4:~# devmem 0x1e780088 8
Bus error (core dumped) devmem 0x1e780088 8
root@yosemite4:~# devmem 0x1e780088 32
0x01000F00
```
```
Oct 16 07:51:10 yosemite4 systemd-coredump[20015]: [🡕] Process 20013 (devmem) of user 0 dumped core.
```
QEMU's ASPEED GPIO model explicitly accepts only four-byte accesse [1].
```c
static const MemoryRegionOps aspeed_gpio_ops = {
.read = aspeed_gpio_read,
.write = aspeed_gpio_write,
.endianness = DEVICE_LITTLE_ENDIAN,
.valid.min_access_size = 4,
.valid.max_access_size = 4,
};
```
The upstream Linux ASPEED GPIO driver also reads GPIO values with
ioread32() in aspeed_gpio_get(). This supports using word accesses,
but does not establish that byte accesses are forbidden on silicon[2].
References:
[1] https://github.com/qemu/qemu/blob/master/hw/gpio/aspeed_gpio.c#L1417-L1423
[2] https://github.com/torvalds/linux/blob/v6.12/drivers/gpio/gpio-aspeed.c
Change-Id: I339af15ddb866f5d1e77277793b489282e792c3a
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
Diffstat (limited to 'upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-invoke')
0 files changed, 0 insertions, 0 deletions
