Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * arch/v850/kernel/mach.h -- Machine-dependent functions used by v850 port | |
3 | * | |
4 | * Copyright (C) 2001,02,03 NEC Electronics Corporation | |
5 | * Copyright (C) 2001,02,03 Miles Bader <miles@gnu.org> | |
6 | * | |
7 | * This file is subject to the terms and conditions of the GNU General | |
8 | * Public License. See the file COPYING in the main directory of this | |
9 | * archive for more details. | |
10 | * | |
11 | * Written by Miles Bader <miles@gnu.org> | |
12 | */ | |
13 | ||
14 | #ifndef __V850_MACH_H__ | |
15 | #define __V850_MACH_H__ | |
16 | ||
17 | #include <linux/kernel.h> | |
18 | #include <linux/time.h> | |
19 | #include <linux/spinlock.h> | |
20 | #include <linux/interrupt.h> | |
21 | #include <linux/fs.h> | |
22 | #include <linux/seq_file.h> | |
23 | ||
24 | #include <asm/ptrace.h> | |
25 | #include <asm/entry.h> | |
26 | #include <asm/clinkage.h> | |
27 | ||
28 | void mach_setup (char **cmdline); | |
29 | void mach_gettimeofday (struct timespec *tv); | |
30 | void mach_sched_init (struct irqaction *timer_action); | |
31 | void mach_get_physical_ram (unsigned long *ram_start, unsigned long *ram_len); | |
32 | void mach_init_irqs (void); | |
33 | ||
34 | /* If defined, is called very early in the kernel initialization. The | |
35 | stack pointer is valid, but very little has been initialized (e.g., | |
36 | bss is not zeroed yet) when this is called, so care must taken. */ | |
37 | void mach_early_init (void); | |
38 | ||
39 | /* If defined, called after the bootmem allocator has been initialized, | |
40 | to allow the platform-dependent code to reserve any areas of RAM that | |
41 | the kernel shouldn't touch. */ | |
42 | void mach_reserve_bootmem (void) __attribute__ ((__weak__)); | |
43 | ||
44 | /* Called with each timer tick, if non-zero. */ | |
45 | extern void (*mach_tick) (void); | |
46 | ||
47 | /* The following establishes aliases for various mach_ functions to the | |
48 | name by which the rest of the kernel calls them. These statements | |
49 | should only have an effect in the file that defines the actual functions. */ | |
50 | #define MACH_ALIAS(to, from) \ | |
51 | asm (".global " macrology_stringify (C_SYMBOL_NAME (to)) ";" \ | |
52 | macrology_stringify (C_SYMBOL_NAME (to)) \ | |
53 | " = " macrology_stringify (C_SYMBOL_NAME (from))) | |
54 | /* e.g.: MACH_ALIAS (kernel_name, arch_spec_name); */ | |
55 | ||
56 | #endif /* __V850_MACH_H__ */ |