atrtc Couldn't map I/O
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 27 Sep 2024 11:52:45 UTC
Hi Hackers, I have a board running 14.1 with the following warning reported by atrtc(4): atrtc0: Warning: Couldn't map I/O. It seems to comes from atrtc_attach: sc->port_res = bus_alloc_resource(dev, SYS_RES_IOPORT, &sc->port_rid, IO_RTC, IO_RTC + 1, 2, RF_ACTIVE); if (sc->port_res == NULL) device_printf(dev, "Warning: Couldn't map I/O.\n"); What puzzle me a bit is that: - nobody seems to use sc->port_res - and IO_RTC (0x70) is manipulated directly via outb/inb instead of bus_write/bus_read, thus ignoring the failure of bus_alloc_resource. But what puzzle me more is that bootverbose show that ACPI expose an I/O port range (type 4) containing 0x70: pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pcib0: decoding 5 range 0-0xfe pcib0: decoding 4 range 0-0xcf7 pcib0: decoding 4 range 0xd00-0xffff pcib0: decoding 3 range 0xa0000-0xbffff pcib0: decoding 3 range 0xe0000-0xe3fff pcib0: decoding 3 range 0xe4000-0xe7fff pcib0: decoding 3 range 0xe8000-0xebfff pcib0: decoding 3 range 0xec000-0xeffff pcib0: decoding 3 range 0xf0000-0xfffff pcib0: decoding 3 range 0x80000000-0xbfffffff pcib0: decoding 3 range 0x4000000000-0x7fffffffff and nobody reclaim it: pcib0: allocated type 4 (0xefa0-0xefbf) for rid 20 of pci0:0:31:4 pcib0: allocated type 4 (0x2e-0x2f) for rid 0 of superio0 pcib0: allocated type 4 (0x4e-0x4f) for rid 0 of superio1 pcib0: allocated type 4 (0x2e-0x2f) for rid 0 of superio0 pcib0: allocated type 4 (0x60-0x60) for rid 0 of atkbdc0 pcib0: allocated type 4 (0x64-0x64) for rid 1 of atkbdc0 So what could explain bus_alloc_resource's failure then? And can it be a real problem as atrtc stubbornly use the port. Regards, -- Stéphane Rochoy O: Stormshield