# DF-5599 — ichsmb IOPORT claim sizing vs ICH5+ BAR decode (Info, hardening)

**File:** `sys/bus/smbus/ichsmb/ichsmb_pci.c` (pass 2)

## What this pack demonstrates

The driver requests **16** I/O-port bytes first (`ichsmb_pci.c:233-234`)
but ICH5+ SMBus BARs decode **32** (64 under QEMU's ICH9 model —
measured). On firmware-programmed BARs the newbus rl-count upgrade
rescues the request (measured: 16 asked → 64 allocated); on
BIOS-unprogrammed BARs (`pci.c:2598-2610` records no rl entry →
`pci.c:4058-4061` `pci_alloc_map` honors count=16) the tail of the
decode window stays hardware-decoded but rman-unowned.

## Run (as root, inside the q35-rig guest with ichsmb+smb loaded)

```
sh run.sh
```

## Expected output

```
bar   [20] = type I/O Port, range 32, base 0x700, size 64, enabled
...
            I/O ports:
                0x700-0x73f
```

(64 bytes allocated for a 16-byte request — the `ulmax` upgrade of
`subr_bus.c:2697-2700`.)

## Artifacts

`run.sh`, `run.log`, `env.txt`, `fix.diff` (32-first/16-fallback swap),
`VERDICT.md` (both code paths), `manifest.json`, `verdict.json`.
