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