| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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__ */ |