Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
linux
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
2
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
9bd0c41
Documentation
LICENSES
arch
alpha
arc
arm
arm64
csky
hexagon
ia64
configs
hp
include
asm
native
sn
uv
Kbuild
acenv.h
acpi-ext.h
acpi.h
asm-offsets.h
asm-prototypes.h
asmmacro.h
atomic.h
barrier.h
bitops.h
bug.h
cache.h
cacheflush.h
checksum.h
clocksource.h
cmpxchg.h
cpu.h
cputime.h
current.h
cyclone.h
delay.h
device.h
div64.h
dma-mapping.h
dma.h
dmi.h
early_ioremap.h
efi.h
elf.h
emergency-restart.h
esi.h
exception.h
extable.h
fb.h
fpswa.h
ftrace.h
futex.h
gcc_intrin.h
hardirq.h
hugetlb.h
hw_irq.h
idle.h
intrinsics.h
io.h
iommu.h
iosapic.h
irq.h
irq_regs.h
irq_remapping.h
irqflags.h
kdebug.h
kexec.h
kprobes.h
kregs.h
libata-portmap.h
linkage.h
local.h
mca.h
mca_asm.h
meminit.h
mman.h
mmiowb.h
mmu.h
mmu_context.h
mmzone.h
module.h
module.lds.h
msidef.h
nodedata.h
numa.h
page.h
pal.h
param.h
parport.h
patch.h
pci.h
percpu.h
pgalloc.h
pgtable.h
processor.h
ptrace.h
sal.h
sections.h
serial.h
shmparam.h
signal.h
smp.h
sparsemem.h
spinlock.h
spinlock_types.h
string.h
switch_to.h
syscall.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h
types.h
uaccess.h
uncached.h
unistd.h
unwind.h
user.h
ustack.h
vermagic.h
vga.h
vmalloc.h
xor.h
xtp.h
uapi
kernel
lib
mm
pci
scripts
uv
Kbuild
Kconfig
Kconfig.debug
Makefile
install.sh
loongarch
m68k
microblaze
mips
nios2
openrisc
parisc
powerpc
riscv
s390
sh
sparc
um
x86
xtensa
.gitignore
Kconfig
block
certs
crypto
drivers
fs
include
init
io_uring
ipc
kernel
lib
mm
net
rust
samples
scripts
security
sound
tools
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Breadcrumbs
linux
/
arch
/
ia64
/
include
/
asm
/
acpi.h
Copy path
Blame
Blame
Latest commit
History
History
110 lines (87 loc) · 2.72 KB
Breadcrumbs
linux
/
arch
/
ia64
/
include
/
asm
/
acpi.h
Top
File metadata and controls
Code
Blame
110 lines (87 loc) · 2.72 KB
Raw
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 1999 VA Linux Systems * Copyright (C) 1999 Walt Drummond <drummond@valinux.com> * Copyright (C) 2000,2001 J.I. Lee <jung-ik.lee@intel.com> * Copyright (C) 2001,2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> */ #ifndef _ASM_ACPI_H #define _ASM_ACPI_H #ifdef __KERNEL__ #include <acpi/proc_cap_intel.h> #include <linux/init.h> #include <linux/numa.h> #include <asm/numa.h> extern int acpi_lapic; #define acpi_disabled 0 /* ACPI always enabled on IA64 */ #define acpi_noirq 0 /* ACPI always enabled on IA64 */ #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ static inline bool acpi_has_cpu_in_madt(void) { return !!acpi_lapic; } #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ static inline void disable_acpi(void) { } int acpi_request_vector (u32 int_type); int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); /* Low-level suspend routine. */ extern int acpi_suspend_lowlevel(void); static inline unsigned long acpi_get_wakeup_address(void) { return 0; } /* * Record the cpei override flag and current logical cpu. This is * useful for CPU removal. */ extern unsigned int can_cpei_retarget(void); extern unsigned int is_cpu_cpei_target(unsigned int cpu); extern void set_cpei_target_cpu(unsigned int cpu); extern unsigned int get_cpei_target_cpu(void); extern void prefill_possible_map(void); #ifdef CONFIG_ACPI_HOTPLUG_CPU extern int additional_cpus; #else #define additional_cpus 0 #endif #ifdef CONFIG_ACPI_NUMA #if MAX_NUMNODES > 256 #define MAX_PXM_DOMAINS MAX_NUMNODES #else #define MAX_PXM_DOMAINS (256) #endif extern int pxm_to_nid_map[MAX_PXM_DOMAINS]; extern int __initdata nid_to_pxm_map[MAX_NUMNODES]; #endif static inline bool arch_has_acpi_pdc(void) { return true; } static inline void arch_acpi_set_proc_cap_bits(u32 *cap) { *cap |= ACPI_PROC_CAP_EST_CAPABILITY_SMP; } #ifdef CONFIG_ACPI_NUMA extern cpumask_t early_cpu_possible_map; #define for_each_possible_early_cpu(cpu) \ for_each_cpu((cpu), &early_cpu_possible_map) static inline void per_cpu_scan_finalize(int min_cpus, int reserve_cpus) { int low_cpu, high_cpu; int cpu; int next_nid = 0; low_cpu = cpumask_weight(&early_cpu_possible_map); high_cpu = max(low_cpu, min_cpus); high_cpu = min(high_cpu + reserve_cpus, NR_CPUS); for (cpu = low_cpu; cpu < high_cpu; cpu++) { cpumask_set_cpu(cpu, &early_cpu_possible_map); if (node_cpuid[cpu].nid == NUMA_NO_NODE) { node_cpuid[cpu].nid = next_nid; next_nid++; if (next_nid >= num_online_nodes()) next_nid = 0; } } } extern void acpi_numa_fixup(void); #endif /* CONFIG_ACPI_NUMA */ #endif /*__KERNEL__*/ #endif /*_ASM_ACPI_H*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
You can’t perform that action at this time.