linux/arch/x86/kernel/fred.c

/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/kernel.h>

#include <asm/desc.h>
#include <asm/fred.h>
#include <asm/tlbflush.h>
#include <asm/traps.h>

/* #DB in the kernel would imply the use of a kernel debugger. */
#define FRED_DB_STACK_LEVEL
#define FRED_NMI_STACK_LEVEL
#define FRED_MC_STACK_LEVEL
/*
 * #DF is the highest level because a #DF means "something went wrong
 * *while delivering an exception*." The number of cases for which that
 * can happen with FRED is drastically reduced and basically amounts to
 * "the stack you pointed me to is broken." Thus, always change stacks
 * on #DF, which means it should be at the highest level.
 */
#define FRED_DF_STACK_LEVEL

#define FRED_STKLVL(vector, lvl)

DEFINE_PER_CPU(unsigned long, fred_rsp0);
EXPORT_PER_CPU_SYMBOL();

void cpu_init_fred_exceptions(void)
{}

/* Must be called after setup_cpu_entry_areas() */
void cpu_init_fred_rsps(void)
{}