mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 01:46:52 +07:00
a439fe51a1
The majority of this patch was created by the following script: *** ASM=arch/sparc/include/asm mkdir -p $ASM git mv include/asm-sparc64/ftrace.h $ASM git rm include/asm-sparc64/* git mv include/asm-sparc/* $ASM sed -ie 's/asm-sparc64/asm/g' $ASM/* sed -ie 's/asm-sparc/asm/g' $ASM/* *** The rest was an update of the top-level Makefile to use sparc for header files when sparc64 is being build. And a small fixlet to pick up the correct unistd.h from sparc64 code. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
68 lines
2.0 KiB
C
68 lines
2.0 KiB
C
/*
|
|
* mpmbox.h: Interface and defines for the OpenProm mailbox
|
|
* facilities for MP machines under Linux.
|
|
*
|
|
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
|
*/
|
|
|
|
#ifndef _SPARC_MPMBOX_H
|
|
#define _SPARC_MPMBOX_H
|
|
|
|
/* The prom allocates, for each CPU on the machine an unsigned
|
|
* byte in physical ram. You probe the device tree prom nodes
|
|
* for these values. The purpose of this byte is to be able to
|
|
* pass messages from one cpu to another.
|
|
*/
|
|
|
|
/* These are the main message types we have to look for in our
|
|
* Cpu mailboxes, based upon these values we decide what course
|
|
* of action to take.
|
|
*/
|
|
|
|
/* The CPU is executing code in the kernel. */
|
|
#define MAILBOX_ISRUNNING 0xf0
|
|
|
|
/* Another CPU called romvec->pv_exit(), you should call
|
|
* prom_stopcpu() when you see this in your mailbox.
|
|
*/
|
|
#define MAILBOX_EXIT 0xfb
|
|
|
|
/* Another CPU called romvec->pv_enter(), you should call
|
|
* prom_cpuidle() when this is seen.
|
|
*/
|
|
#define MAILBOX_GOSPIN 0xfc
|
|
|
|
/* Another CPU has hit a breakpoint either into kadb or the prom
|
|
* itself. Just like MAILBOX_GOSPIN, you should call prom_cpuidle()
|
|
* at this point.
|
|
*/
|
|
#define MAILBOX_BPT_SPIN 0xfd
|
|
|
|
/* Oh geese, some other nitwit got a damn watchdog reset. The party's
|
|
* over so go call prom_stopcpu().
|
|
*/
|
|
#define MAILBOX_WDOG_STOP 0xfe
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
/* Handy macro's to determine a cpu's state. */
|
|
|
|
/* Is the cpu still in Power On Self Test? */
|
|
#define MBOX_POST_P(letter) ((letter) >= 0x00 && (letter) <= 0x7f)
|
|
|
|
/* Is the cpu at the 'ok' prompt of the PROM? */
|
|
#define MBOX_PROMPROMPT_P(letter) ((letter) >= 0x80 && (letter) <= 0x8f)
|
|
|
|
/* Is the cpu spinning in the PROM? */
|
|
#define MBOX_PROMSPIN_P(letter) ((letter) >= 0x90 && (letter) <= 0xef)
|
|
|
|
/* Sanity check... This is junk mail, throw it out. */
|
|
#define MBOX_BOGON_P(letter) ((letter) >= 0xf1 && (letter) <= 0xfa)
|
|
|
|
/* Is the cpu actively running an application/kernel-code? */
|
|
#define MBOX_RUNNING_P(letter) ((letter) == MAILBOX_ISRUNNING)
|
|
|
|
#endif /* !(__ASSEMBLY__) */
|
|
|
|
#endif /* !(_SPARC_MPMBOX_H) */
|