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 void __iomem *p;
15
16 if ((xen_pv_domain() && !xen_initial_domain()) || cc_platform_has(attr: CC_ATTR_GUEST_SEV_SNP))
17 return 0;
18
19 p = ioremap(offset: 0x0FFFD9, size: 4);
20 if (p && readl(addr: p) == 'E' + ('I' << 8) + ('S' << 16) + ('A' << 24))
21 EISA_bus = 1;
22 iounmap(addr: p);
23 return 0;
24}
25subsys_initcall(eisa_bus_probe);
26

source code of linux/arch/x86/kernel/eisa.c