linux_dsm_epyc7002/arch/x86/include/asm
Ingo Molnar 7410aa1ca3 x86/boot/e820: Separate the E820 ABI structures from the in-kernel structures
Linus pointed out that relying on the compiler to pack structures with
enums is fragile not just for the kernel, but for external tooling as
well which might rely on our UAPI headers.

So separate the two from each other: introduce 'struct boot_e820_entry',
which is the boot protocol entry format.

This actually simplifies the code, as e820__update_table() is now never
called directly with boot protocol table entries - we can rely on
append_e820_table() and do a e820__update_table() call afterwards.

( This will allow further simplifications of __e820__update_table(),
  but that will be done in a separate patch. )

This change also has the side effect of not modifying the bootparams structure
anymore - which might be useful for debugging. In theory we could even constify
the boot_params structure - at least from the E820 code's point of view.

Remove the uapi/asm/e820/types.h file, as it's not used anymore - all
kernel side E820 types are defined in asm/e820/types.h.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Alex Thorlton <athorlton@sgi.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Huang, Ying <ying.huang@intel.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Paul Jackson <pj@sgi.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Wei Yang <richard.weiyang@gmail.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-01-29 13:39:32 +01:00
..
crypto
e820 x86/boot/e820: Separate the E820 ABI structures from the in-kernel structures 2017-01-29 13:39:32 +01:00
fpu
numachip
trace This release has a few updates: 2016-12-15 13:49:34 -08:00
uv
xen Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
a.out-core.h
acenv.h
acpi.h x86/boot/e820: Split minimal UAPI types out into uapi/asm/e820/types.h 2017-01-28 09:31:13 +01:00
agp.h
alternative-asm.h
alternative.h
amd_nb.h
apb_timer.h
apic_flat_64.h
apic.h
apicdef.h
apm.h
arch_hweight.h
archrandom.h
asm-offsets.h
asm-prototypes.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
asm.h
atomic64_32.h
atomic64_64.h
atomic.h
barrier.h
bios_ebda.h
bitops.h mm: optimize PageWaiters bit use for unlock_page() 2016-12-29 11:03:15 -08:00
boot.h
bootparam_utils.h
bug.h
bugs.h
cache.h
cacheflush.h
calgary.h
ce4100.h
checksum_32.h
checksum_64.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
checksum.h
clocksource.h
cmdline.h
cmpxchg_32.h
cmpxchg_64.h
cmpxchg.h
compat.h
cpu_device_id.h
cpu.h
cpufeature.h
cpufeatures.h Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-22 09:25:45 -08:00
cpumask.h
crash.h
current.h
debugreg.h
delay.h
desc_defs.h
desc.h
device.h
disabled-features.h
div64.h
dma-mapping.h
dma.h
dmi.h
dwarf2.h
edac.h
efi.h
elf.h
emergency-restart.h
entry_arch.h
espfix.h
exec.h
export.h
extable.h
fb.h
fixmap.h
floppy.h x86/floppy: Use designated initializers 2016-12-18 09:25:38 +01:00
frame.h
ftrace.h
futex.h
gart.h x86/boot/e820: Prefix the E820_* type names with "E820_TYPE_" 2017-01-28 22:55:22 +01:00
genapic.h
geode.h
hardirq.h
highmem.h
hpet.h
hugetlb.h
hw_breakpoint.h
hw_irq.h
hypertransport.h
hypervisor.h
i8259.h
ia32_unistd.h
ia32.h
imr.h
inat_types.h
inat.h
init.h
insn.h
inst.h
intel_mid_vrtc.h
intel_pmc_ipc.h
intel_pt.h
intel_punit_ipc.h
intel_rdt_common.h
intel_rdt.h
intel_scu_ipc.h
intel_telemetry.h
intel-family.h x86/cpu: Fix typo in the comment for Anniedale 2017-01-05 09:03:29 +01:00
intel-mid.h
io_apic.h
io.h
iomap.h
iommu_table.h
iommu.h
iosf_mbi.h
ipi.h
irq_regs.h
irq_remapping.h
irq_vectors.h
irq_work.h
irq.h
irqdomain.h
irqflags.h
ist.h
jump_label.h
kasan.h
kaslr.h
kbdleds.h
Kbuild
kdebug.h
kexec-bzimage64.h
kexec.h
kgdb.h
kmap_types.h
kmemcheck.h
kprobes.h
kvm_emulate.h
kvm_guest.h
kvm_host.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
kvm_page_track.h
kvm_para.h
lguest_hcall.h
lguest.h
linkage.h
livepatch.h
local64.h
local.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h
microcode_amd.h
microcode_intel.h x86/microcode/intel: Add a helper which gives the microcode revision 2017-01-09 23:11:14 +01:00
microcode.h
misc.h
mmconfig.h
mmu_context.h
mmu.h x86/mpx: Move bd_addr to mm_context_t 2016-12-17 12:29:56 +01:00
mmx.h
mmzone_32.h
mmzone_64.h
mmzone.h
module.h
mpspec_def.h
mpspec.h x86/boot/e820: Rename early_reserve_e820() to e820__memblock_alloc() and document it 2017-01-28 14:42:30 +01:00
mpx.h x86/mpx: Move bd_addr to mm_context_t 2016-12-17 12:29:56 +01:00
mshyperv.h
msi.h
msidef.h
msr-index.h
msr-trace.h
msr.h
mtrr.h
mwait.h
nmi.h
nops.h
numa_32.h
numa.h
olpc_ofw.h
olpc.h
page_32_types.h
page_32.h
page_64_types.h
page_64.h
page_types.h
page.h
paravirt_types.h
paravirt.h
parport.h
pat.h
pci_64.h
pci_x86.h x86/boot/e820: Remove spurious asm/e820/api.h inclusions 2017-01-28 09:31:14 +01:00
pci-direct.h
pci-functions.h
pci.h
percpu.h
perf_event_p4.h
perf_event.h
pgalloc.h
pgtable_32_types.h
pgtable_32.h x86/boot/32: Convert the 32-bit pgtable setup code from assembly to C 2017-01-06 08:39:26 +01:00
pgtable_64_types.h
pgtable_64.h x86/mm: Drop unused argument 'removed' from sync_global_pgds() 2016-12-15 12:46:07 +01:00
pgtable_types.h
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h
pgtable-3level.h
pgtable.h x86/boot/e820: Move the memblock_find_dma_reserve() function and rename it to memblock_set_dma_reserve() 2017-01-28 14:42:28 +01:00
pkeys.h
platform_sst_audio.h
pm-trace.h
pmc_atom.h
pmc_core.h
pmem.h
posix_types.h
preempt.h
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h x86/CPU: Add native CPUID variants returning a single datum 2017-01-09 23:11:13 +01:00
prom.h
proto.h
ptrace.h
pvclock-abi.h
pvclock.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
qrwlock.h
qspinlock_paravirt.h
qspinlock.h
realmode.h
reboot_fixups.h
reboot.h
required-features.h
rio.h
rmwcc.h
rwsem.h
seccomp.h
sections.h
segment.h
serial.h
setup_arch.h
setup.h
shmparam.h
sigcontext.h
sigframe.h
sighandling.h
signal.h
simd.h
smap.h
smp.h
sparsemem.h
special_insns.h
spinlock_types.h
spinlock.h
sta2x11.h
stackprotector.h
stacktrace.h x86/unwind: Include __schedule() in stack traces 2017-01-12 09:28:28 +01:00
string_32.h
string_64.h
string.h
suspend_32.h
suspend_64.h
suspend.h
svm.h
swiotlb.h
switch_to.h x86/unwind: Include __schedule() in stack traces 2017-01-12 09:28:28 +01:00
sync_bitops.h
sys_ia32.h
syscall.h
syscalls.h
sysfb.h
tce.h
text-patching.h
thread_info.h
time.h
timer.h
timex.h
tlb.h
tlbflush.h
topology.h
trace_clock.h
traps.h
tsc.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
uaccess_32.h
uaccess_64.h
uaccess.h
unaligned.h
unistd.h
unwind.h x86/unwind: Dump stack data on warnings 2016-12-19 11:47:05 +01:00
uprobes.h
user32.h
user_32.h
user_64.h
user.h
vdso.h
vga.h
vgtod.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
virtext.h
vm86.h
vmx.h
vsyscall.h
vvar.h
word-at-a-time.h
x2apic.h
x86_init.h x86/init: Fix a couple of comment typos 2016-12-19 11:34:16 +01:00
xor_32.h
xor_64.h
xor_avx.h
xor.h