Unified · Split
| @@ -1,3 +1,5 @@ | |||
| 1 | 20111231 | ||
| 2 | Linux/*/include/emu.h adjustments for USE_PTHREADS for non-x86 processors | ||
| 1 | 20111221 | 3 | 20111221 |
| 2 | add `...` uninterpreted string literals to limbo/lex.c, appl/cmd/limbo/lex.b | 4 | add `...` uninterpreted string literals to limbo/lex.c, appl/cmd/limbo/lex.b |
| 3 | 20111215 | 5 | 20111215 |
| @@ -22,7 +22,7 @@ static __inline Proc *getup(void) { · 21 unmodified lines | |||
| 22 | : "=a" (p) | 22 | : "=a" (p) |
| 23 | ); | 23 | ); |
| 24 | return *(Proc **)((uintptr)p & ~(KSTACK - 1)); | 24 | return *(Proc **)((uintptr)p & ~(KSTACK - 1)); |
| 25 | }; | 25 | } |
| 26 | #else | 26 | #else |
| 27 | extern Proc* getup(void); | 27 | extern Proc* getup(void); |
| 28 | #endif | 28 | #endif |
| @@ -22,7 +22,7 @@ static __inline Proc *getup(void) { · 21 unmodified lines | |||
| 22 | : "=r" (p) | 22 | : "=r" (p) |
| 23 | ); | 23 | ); |
| 24 | return *(Proc **)((uintptr)p & ~(KSTACK - 1)); | 24 | return *(Proc **)((uintptr)p & ~(KSTACK - 1)); |
| 25 | }; | 25 | } |
| 26 | #else | 26 | #else |
| 27 | extern Proc* getup(void); | 27 | extern Proc* getup(void); |
| 28 | #endif | 28 | #endif |
| @@ -20,11 +20,15 @@ struct FPU · 19 unmodified lines | |||
| 20 | */ | 20 | */ |
| 21 | #define KSTACK (16 * 1024) | 21 | #define KSTACK (16 * 1024) |
| 22 | 22 | ||
| 23 | #ifndef USE_PTHREADS | ||
| 23 | static __inline Proc *getup(void) { | 24 | static __inline Proc *getup(void) { |
| 24 | Proc *p; | 25 | Proc *p; |
| 25 | __asm__( "mr %0, 1" : "=r" (p)); | 26 | __asm__( "mr %0, 1" : "=r" (p)); |
| 26 | return *(Proc **)((unsigned long)p & ~(KSTACK - 1)); | 27 | return *(Proc **)((unsigned long)p & ~(KSTACK - 1)); |
| 27 | }; | 28 | } |
| 29 | #else | ||
| 30 | extern Proc* getup(void); | ||
| 31 | #endif | ||
| 28 | 32 | ||
| 29 | #define up (getup()) | 33 | #define up (getup()) |
| 30 | 34 | ||
| @@ -20,13 +20,17 @@ struct FPU · 19 unmodified lines | |||
| 20 | */ | 20 | */ |
| 21 | #define KSTACK (16 * 1024) | 21 | #define KSTACK (16 * 1024) |
| 22 | 22 | ||
| 23 | #ifndef USE_PTHREADS | ||
| 23 | static __inline Proc *getup(void) { | 24 | static __inline Proc *getup(void) { |
| 24 | Proc *p; | 25 | Proc *p; |
| 25 | __asm__( "move %0, $29\n\t" | 26 | __asm__( "move %0, $29\n\t" |
| 26 | : "=r" (p) | 27 | : "=r" (p) |
| 27 | ); | 28 | ); |
| 28 | return *(Proc **)((unsigned long)p & ~(KSTACK - 1)); | 29 | return *(Proc **)((unsigned long)p & ~(KSTACK - 1)); |
| 29 | }; | 30 | } |
| 31 | #else | ||
| 32 | extern Proc* getup(void); | ||
| 33 | #endif | ||
| 30 | 34 | ||
| 31 | #define up (getup()) | 35 | #define up (getup()) |
| 32 | 36 | ||
| @@ -1 +1 @@ | |||
| 1 | #define VERSION "Fourth Edition (20111222)" | 1 | #define VERSION "Fourth Edition (20111231)" |