Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
system.h
Package: linux-2.4.20.tar.gz [view]
Upload User: jlfgdled
Upload Date: 2013-04-10
Package Size: 33168k
Code Size: 3k
Category:
Linux-Unix program
Development Platform:
Unix_Linux
- /*
- * linux/include/asm-arm/proc-armo/system.h
- *
- * Copyright (C) 1995, 1996 Russell King
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
- #ifndef __ASM_PROC_SYSTEM_H
- #define __ASM_PROC_SYSTEM_H
- #include <asm/proc-fns.h>
- #define vectors_base() (0)
- static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size)
- {
- extern void __bad_xchg(volatile void *, int);
- switch (size) {
- case 1: return cpu_xchg_1(x, ptr);
- case 4: return cpu_xchg_4(x, ptr);
- default: __bad_xchg(ptr, size);
- }
- return 0;
- }
- /*
- * We need to turn the caches off before calling the reset vector - RiscOS
- * messes up if we don't
- */
- #define proc_hard_reset() cpu_proc_fin()
- /*
- * A couple of speedups for the ARM
- */
- /*
- * Save the current interrupt enable state & disable IRQs
- */
- #define __save_flags_cli(x)
- do {
- unsigned long temp;
- __asm__ __volatile__(
- " mov %0, pc @ save_flags_clin"
- " orr %1, %0, #0x08000000n"
- " and %0, %0, #0x0c000000n"
- " teqp %1, #0n"
- : "=r" (x), "=r" (temp)
- :
- : "memory");
- } while (0)
- /*
- * Enable IRQs
- */
- #define __sti()
- do {
- unsigned long temp;
- __asm__ __volatile__(
- " mov %0, pc @ stin"
- " bic %0, %0, #0x08000000n"
- " teqp %0, #0n"
- : "=r" (temp)
- :
- : "memory");
- } while(0)
- /*
- * Disable IRQs
- */
- #define __cli()
- do {
- unsigned long temp;
- __asm__ __volatile__(
- " mov %0, pc @ clin"
- " orr %0, %0, #0x08000000n"
- " teqp %0, #0n"
- : "=r" (temp)
- :
- : "memory");
- } while(0)
- #define __clf() do {
- unsigned long temp;
- __asm__ __volatile__(
- " mov %0, pc @ clfn"
- " orr %0, %0, #0x04000000n"
- " teqp %0, #0n"
- : "=r" (temp));
- } while(0)
- #define __stf() do {
- unsigned long temp;
- __asm__ __volatile__(
- " mov %0, pc @ stfn"
- " bic %0, %0, #0x04000000n"
- " teqp %0, #0n"
- : "=r" (temp));
- } while(0)
- /*
- * save current IRQ & FIQ state
- */
- #define __save_flags(x)
- do {
- __asm__ __volatile__(
- " mov %0, pc @ save_flagsn"
- " and %0, %0, #0x0c000000n"
- : "=r" (x));
- } while (0)
- /*
- * restore saved IRQ & FIQ state
- */
- #define __restore_flags(x)
- do {
- unsigned long temp;
- __asm__ __volatile__(
- " mov %0, pc @ restore_flagsn"
- " bic %0, %0, #0x0c000000n"
- " orr %0, %0, %1n"
- " teqp %0, #0n"
- : "=&r" (temp)
- : "r" (x)
- : "memory");
- } while (0)
- #endif