Commit | Line | Data |
---|---|---|
82c73e0a | 1 | // SPDX-License-Identifier: GPL-2.0-only |
f7eaf6e0 TG |
2 | /* |
3 | * EISA specific code | |
f7eaf6e0 | 4 | */ |
0f4a1e80 | 5 | #include <linux/cc_platform.h> |
f7eaf6e0 TG |
6 | #include <linux/ioport.h> |
7 | #include <linux/eisa.h> | |
ef1d4dea | 8 | #include <linux/io.h> |
f7eaf6e0 | 9 | |
6a92b111 BO |
10 | #include <xen/xen.h> |
11 | ||
f7eaf6e0 TG |
12 | static __init int eisa_bus_probe(void) |
13 | { | |
6a92b111 BO |
14 | void __iomem *p; |
15 | ||
0f4a1e80 | 16 | if ((xen_pv_domain() && !xen_initial_domain()) || cc_platform_has(CC_ATTR_GUEST_SEV_SNP)) |
6a92b111 | 17 | return 0; |
f7eaf6e0 | 18 | |
6a92b111 BO |
19 | p = ioremap(0x0FFFD9, 4); |
20 | if (p && readl(p) == 'E' + ('I' << 8) + ('S' << 16) + ('A' << 24)) | |
f7eaf6e0 TG |
21 | EISA_bus = 1; |
22 | iounmap(p); | |
23 | return 0; | |
24 | } | |
25 | subsys_initcall(eisa_bus_probe); |