diff options
author | Pasha <pasha@member.fsf.org> | 2024-02-20 18:49:50 +0000 |
---|---|---|
committer | Pasha <pasha@member.fsf.org> | 2024-02-20 18:49:50 +0000 |
commit | 5e0b8d508ed51004bd836384293be00950ee62c9 (patch) | |
tree | e3f16b1aa8b7177032ce3ec429fbad2b1d92a876 /kern/machine.h | |
download | gnumach-riscv-5e0b8d508ed51004bd836384293be00950ee62c9.tar.gz gnumach-riscv-5e0b8d508ed51004bd836384293be00950ee62c9.tar.bz2 |
init gnumach copy
Diffstat (limited to 'kern/machine.h')
-rw-r--r-- | kern/machine.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/kern/machine.h b/kern/machine.h new file mode 100644 index 0000000..5c55d2c --- /dev/null +++ b/kern/machine.h @@ -0,0 +1,59 @@ +/* + * Machine abstraction functions + * Copyright (C) 2008 Free Software Foundation, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Author: Barry deFreese. + */ +/* + * Machine abstraction functions. + * + */ + +#ifndef _MACHINE_H_ +#define _MACHINE_H_ + +#include <mach/std_types.h> + +/* + * cpu_up: + * + * Flag specified cpu as up and running. Called when a processor comes + * online. + */ +extern void cpu_up (int); + +/* + * processor_assign() changes the processor set that a processor is + * assigned to. Any previous assignment in progress is overridden. + * Synchronizes with assignment completion if wait is TRUE. + */ +extern kern_return_t processor_assign (processor_t, processor_set_t, boolean_t); + +/* + * processor_shutdown() queues a processor up for shutdown. + * Any assignment in progress is overriden. It does not synchronize + * with the shutdown (can be called from interrupt level). + */ +extern kern_return_t processor_shutdown (processor_t); + +/* + * action_thread() shuts down processors or changes their assignment. + */ +extern void action_thread_continue (void) __attribute__((noreturn)); +extern void action_thread(void) __attribute__((noreturn)); + +#endif /* _MACHINE_H_ */ |