git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Major build system changes
[tpg/acess2.git]
/
Kernel
/
arch
/
x86
/
include
/
arch.h
diff --git
a/Kernel/arch/x86/include/arch.h
b/Kernel/arch/x86/include/arch.h
index
8d8a14a
..
755ecdf
100644
(file)
--- a/
Kernel/arch/x86/include/arch.h
+++ b/
Kernel/arch/x86/include/arch.h
@@
-9,6
+9,7
@@
// - Base Defintions
#define KERNEL_BASE 0xC0000000
#define BITS 32
// - Base Defintions
#define KERNEL_BASE 0xC0000000
#define BITS 32
+#define PAGE_SIZE 0x1000
#define INVLPTR ((void*)-1)
#define INVLPTR ((void*)-1)
@@
-58,7
+59,16
@@
struct sShortSpinlock {
/**
* \brief Halt the CPU (shorter version of yield)
*/
/**
* \brief Halt the CPU (shorter version of yield)
*/
+#if 1
+#define HALT() do { \
+ Uint32 flags; \
+ __asm__ __volatile__ ("pushf;pop %0" : "=a"(flags)); \
+ if( !(flags & 0x200) ) Panic("HALT called with interrupts disabled"); \
+ __asm__ __volatile__ ("hlt"); \
+} while(0)
+#else
#define HALT() __asm__ __volatile__ ("hlt")
#define HALT() __asm__ __volatile__ ("hlt")
+#endif
/**
* \brief Fire a magic breakpoint (bochs)
*/
/**
* \brief Fire a magic breakpoint (bochs)
*/
@@
-78,7
+88,7
@@
typedef signed long long Sint64;
typedef Uint size_t;
typedef char BOOL;
typedef Uint size_t;
typedef char BOOL;
-typedef Uint
64
tPAddr;
+typedef Uint
32
tPAddr;
typedef Uint32 tVAddr;
typedef struct {
typedef Uint32 tVAddr;
typedef struct {
@@
-123,9
+133,13
@@
typedef struct {
typedef struct {
Uint EIP, ESP, EBP;
typedef struct {
Uint EIP, ESP, EBP;
+ Uint32 UserCS, UserEIP;
} tTaskState;
// === FUNCTIONS ===
} tTaskState;
// === FUNCTIONS ===
+extern void Debug_PutCharDebug(char ch);
+extern void Debug_PutStringDebug(const char *String);
+
extern int IS_LOCKED(struct sShortSpinlock *Lock);
extern int CPU_HAS_LOCK(struct sShortSpinlock *Lock);
extern void SHORTLOCK(struct sShortSpinlock *Lock);
extern int IS_LOCKED(struct sShortSpinlock *Lock);
extern int CPU_HAS_LOCK(struct sShortSpinlock *Lock);
extern void SHORTLOCK(struct sShortSpinlock *Lock);
UCC
git Repository :: git.ucc.asn.au