Skip to content

Conversation

@elysia-best
Copy link

This patch adds essential compatibility support for ACPI-based systems running on older firmware. Some older computers with Kunlun firmware still rely on this mechanism and are unlikely to receive futher firmeware updates. This change ensures proper ISA I/O space reservation across for them.

This patch adds essential compatibility support for ACPI-based systems
running on older firmware. Many older computers with old firmware still
rely on this mechanism and are unlikely to receive futher firmeware updates.
This change ensures proper ISA I/O space reservation across for them.

Signed-off-by: Yinan Qin <a.elysia@proton.me>
@elysia-best elysia-best marked this pull request as draft January 16, 2026 12:47
@elysia-best elysia-best changed the title AOSCOS: LoongArch: Add ACPI compatibility for ISA I/O space reservation [WIP] LoongArch: Add ACPI compatibility for ISA I/O space reservation Jan 16, 2026
@MingcongBai
Copy link

Eww. This probably calls for a better (even DMI-specific) quirk...

pr_warn("Failed to allocate fwnode for legacy ISA\n");
return 0;
}
if (add_legacy_isa_io(fwnode, LOONGSON_LIO_BASE, ISA_IOSIZE)) {
Copy link

@xry111 xry111 Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this patch can be merged as-is.

Both 7A1000 and 7A2000 manuals state that 0x18000000-0x1800ffff (64K) is for "LPC I/O", but this patch reserves 0x18000000-0x18003fff (16K). The only reference I can find about this 16K range is the 2K1000 ISA controller which is obviously unrelated to any desktop platform. The macro name ("ISA_IOSIZE") also seems something for 2K1000 now.

We need some detailed analysis of the issue and maybe some research on the ACPI specification.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, a fast search for ISA_IOSIZE shows that this marco was introduced in initial commits for LoongArch support at torvalds@7153c3c

It didn't explain why this marco should be 16K rather than 64K. Additionally, ISA_IOSIZE is also used in loongnix's patch for this issue. I agree that this issue needs more analysis :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants