home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-mips / pmon.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.6 KB  |  47 lines

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright (C) 2004 by Ralf Baechle
  7.  *
  8.  * The cpustart method is a PMC-Sierra's function to start the secondary CPU.
  9.  * Stock PMON 2000 has the smpfork, semlock and semunlock methods instead.
  10.  */
  11. #ifndef _ASM_PMON_H
  12. #define _ASM_PMON_H
  13.  
  14. struct callvectors {
  15.     int    (*open) (char*, int, int);
  16.     int    (*close) (int);
  17.     int    (*read) (int, void*, int);
  18.     int    (*write) (int, void*, int);
  19.     off_t    (*lseek) (int, off_t, int);
  20.     int    (*printf) (const char*, ...);
  21.     void    (*cacheflush) (void);
  22.     char*    (*gets) (char*);
  23.     union {
  24.         int    (*smpfork) (unsigned long cp, char *sp);
  25.         int    (*cpustart) (long, long, long, long);
  26.     } _s;
  27.     int    (*semlock) (int sem);
  28.     void    (*semunlock) (int sem);
  29. };
  30.  
  31. extern struct callvectors *debug_vectors;
  32.  
  33. #define pmon_open(name, flags, mode)    debug_vectors->open(name, flage, mode)
  34. #define pmon_close(fd)            debug_vectors->close(fd)
  35. #define pmon_read(fd, buf, count)    debug_vectors->read(fd, buf, count)
  36. #define pmon_write(fd, buf, count)    debug_vectors->write(fd, buf, count)
  37. #define pmon_lseek(fd, off, whence)    debug_vectors->lseek(fd, off, whence)
  38. #define pmon_printf(fmt...)        debug_vectors->printf(fmt)
  39. #define pmon_cacheflush()        debug_vectors->cacheflush()
  40. #define pmon_gets(s)            debug_vectors->gets(s)
  41. #define pmon_cpustart(n, f, sp, gp)    debug_vectors->_s.cpustart(n, f, sp, gp)
  42. #define pmon_smpfork(cp, sp)        debug_vectors->_s.smpfork(cp, sp)
  43. #define pmon_semlock(sem)        debug_vectors->semlock(sem)
  44. #define pmon_semunlock(sem)        debug_vectors->semunlock(sem)
  45.  
  46. #endif /* _ASM_PMON_H */
  47.