| 102 | } |
| 103 | |
| 104 | __attribute__((always_inline)) static inline CPU* GetCPULocal(){ |
| 105 | CPU* ret; |
| 106 | asm volatile("swapgs; movq %%gs:0, %0; swapgs;" : "=r"(ret)); // CPU info is 16-byte aligned as per liballoc alignment |
| 107 | return ret; |
| 108 | } |
| 109 | |
| 110 | static inline int CheckInterrupts() |
| 111 | { |
no outgoing calls
no test coverage detected