Changeset 8df5f20 in mainline for kernel/arch/amd64
- Timestamp:
- 2019-02-11T14:56:26Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4805495
- Parents:
- 391996b
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-01 23:26:21)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-11 14:56:26)
- Location:
- kernel/arch/amd64/include/arch
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/include/arch/asm.h
r391996b r8df5f20 50 50 * 51 51 */ 52 NO_TRACE static inline uintptr_t get_stack_base(void)52 _NO_TRACE static inline uintptr_t get_stack_base(void) 53 53 { 54 54 uintptr_t v; … … 63 63 } 64 64 65 NO_TRACE static inline void cpu_sleep(void)65 _NO_TRACE static inline void cpu_sleep(void) 66 66 { 67 67 asm volatile ( … … 70 70 } 71 71 72 NO_TRACE static inline void __attribute__((noreturn)) cpu_halt(void)72 _NO_TRACE static inline void __attribute__((noreturn)) cpu_halt(void) 73 73 { 74 74 while (true) { … … 87 87 * 88 88 */ 89 NO_TRACE static inline uint8_t pio_read_8(ioport8_t *port)89 _NO_TRACE static inline uint8_t pio_read_8(ioport8_t *port) 90 90 { 91 91 if (port < (ioport8_t *) IO_SPACE_BOUNDARY) { … … 111 111 * 112 112 */ 113 NO_TRACE static inline uint16_t pio_read_16(ioport16_t *port)113 _NO_TRACE static inline uint16_t pio_read_16(ioport16_t *port) 114 114 { 115 115 if (port < (ioport16_t *) IO_SPACE_BOUNDARY) { … … 135 135 * 136 136 */ 137 NO_TRACE static inline uint32_t pio_read_32(ioport32_t *port)137 _NO_TRACE static inline uint32_t pio_read_32(ioport32_t *port) 138 138 { 139 139 if (port < (ioport32_t *) IO_SPACE_BOUNDARY) { … … 159 159 * 160 160 */ 161 NO_TRACE static inline void pio_write_8(ioport8_t *port, uint8_t val)161 _NO_TRACE static inline void pio_write_8(ioport8_t *port, uint8_t val) 162 162 { 163 163 if (port < (ioport8_t *) IO_SPACE_BOUNDARY) { … … 178 178 * 179 179 */ 180 NO_TRACE static inline void pio_write_16(ioport16_t *port, uint16_t val)180 _NO_TRACE static inline void pio_write_16(ioport16_t *port, uint16_t val) 181 181 { 182 182 if (port < (ioport16_t *) IO_SPACE_BOUNDARY) { … … 197 197 * 198 198 */ 199 NO_TRACE static inline void pio_write_32(ioport32_t *port, uint32_t val)199 _NO_TRACE static inline void pio_write_32(ioport32_t *port, uint32_t val) 200 200 { 201 201 if (port < (ioport32_t *) IO_SPACE_BOUNDARY) { … … 208 208 } 209 209 210 NO_TRACE static inline uint64_t read_rflags(void)210 _NO_TRACE static inline uint64_t read_rflags(void) 211 211 { 212 212 uint64_t rflags; … … 221 221 } 222 222 223 NO_TRACE static inline void write_rflags(uint64_t rflags)223 _NO_TRACE static inline void write_rflags(uint64_t rflags) 224 224 { 225 225 asm volatile ( … … 237 237 * 238 238 */ 239 NO_TRACE static inline ipl_t interrupts_read(void)239 _NO_TRACE static inline ipl_t interrupts_read(void) 240 240 { 241 241 return (ipl_t) read_rflags(); … … 249 249 * 250 250 */ 251 NO_TRACE static inline ipl_t interrupts_enable(void)251 _NO_TRACE static inline ipl_t interrupts_enable(void) 252 252 { 253 253 ipl_t ipl = interrupts_read(); … … 265 265 * 266 266 */ 267 NO_TRACE static inline ipl_t interrupts_disable(void)267 _NO_TRACE static inline ipl_t interrupts_disable(void) 268 268 { 269 269 ipl_t ipl = interrupts_read(); … … 281 281 * 282 282 */ 283 NO_TRACE static inline void interrupts_restore(ipl_t ipl)283 _NO_TRACE static inline void interrupts_restore(ipl_t ipl) 284 284 { 285 285 write_rflags((uint64_t) ipl); … … 291 291 * 292 292 */ 293 NO_TRACE static inline bool interrupts_disabled(void)293 _NO_TRACE static inline bool interrupts_disabled(void) 294 294 { 295 295 return ((read_rflags() & RFLAGS_IF) == 0); … … 297 297 298 298 /** Write to MSR */ 299 NO_TRACE static inline void write_msr(uint32_t msr, uint64_t value)299 _NO_TRACE static inline void write_msr(uint32_t msr, uint64_t value) 300 300 { 301 301 asm volatile ( … … 307 307 } 308 308 309 NO_TRACE static inline sysarg_t read_msr(uint32_t msr)309 _NO_TRACE static inline sysarg_t read_msr(uint32_t msr) 310 310 { 311 311 uint32_t ax, dx; … … 325 325 * 326 326 */ 327 NO_TRACE static inline void invlpg(uintptr_t addr)327 _NO_TRACE static inline void invlpg(uintptr_t addr) 328 328 { 329 329 asm volatile ( … … 338 338 * 339 339 */ 340 NO_TRACE static inline void gdtr_load(ptr_16_64_t *gdtr_reg)340 _NO_TRACE static inline void gdtr_load(ptr_16_64_t *gdtr_reg) 341 341 { 342 342 asm volatile ( … … 351 351 * 352 352 */ 353 NO_TRACE static inline void gdtr_store(ptr_16_64_t *gdtr_reg)353 _NO_TRACE static inline void gdtr_store(ptr_16_64_t *gdtr_reg) 354 354 { 355 355 asm volatile ( … … 364 364 * 365 365 */ 366 NO_TRACE static inline void idtr_load(ptr_16_64_t *idtr_reg)366 _NO_TRACE static inline void idtr_load(ptr_16_64_t *idtr_reg) 367 367 { 368 368 asm volatile ( … … 376 376 * 377 377 */ 378 NO_TRACE static inline void tr_load(uint16_t sel)378 _NO_TRACE static inline void tr_load(uint16_t sel) 379 379 { 380 380 asm volatile ( … … 384 384 } 385 385 386 #define GEN_READ_REG(reg) NO_TRACE static inline sysarg_t read_ ##reg (void) \386 #define GEN_READ_REG(reg) _NO_TRACE static inline sysarg_t read_ ##reg (void) \ 387 387 { \ 388 388 sysarg_t res; \ … … 394 394 } 395 395 396 #define GEN_WRITE_REG(reg) NO_TRACE static inline void write_ ##reg (sysarg_t regn) \396 #define GEN_WRITE_REG(reg) _NO_TRACE static inline void write_ ##reg (sysarg_t regn) \ 397 397 { \ 398 398 asm volatile ( \ -
kernel/arch/amd64/include/arch/cycle.h
r391996b r8df5f20 38 38 #include <trace.h> 39 39 40 NO_TRACE static inline uint64_t get_cycle(void)40 _NO_TRACE static inline uint64_t get_cycle(void) 41 41 { 42 42 uint32_t lower; -
kernel/arch/amd64/include/arch/istate.h
r391996b r8df5f20 47 47 48 48 /** Return true if exception happened while in userspace */ 49 NO_TRACE static inline int istate_from_uspace(istate_t *istate)49 _NO_TRACE static inline int istate_from_uspace(istate_t *istate) 50 50 { 51 51 return (istate->cs & RPL_USER) == RPL_USER; 52 52 } 53 53 54 NO_TRACE static inline void istate_set_retaddr(istate_t *istate,54 _NO_TRACE static inline void istate_set_retaddr(istate_t *istate, 55 55 uintptr_t retaddr) 56 56 { … … 58 58 } 59 59 60 NO_TRACE static inline uintptr_t istate_get_pc(istate_t *istate)60 _NO_TRACE static inline uintptr_t istate_get_pc(istate_t *istate) 61 61 { 62 62 return istate->rip; 63 63 } 64 64 65 NO_TRACE static inline uintptr_t istate_get_fp(istate_t *istate)65 _NO_TRACE static inline uintptr_t istate_get_fp(istate_t *istate) 66 66 { 67 67 return istate->rbp; -
kernel/arch/amd64/include/arch/mm/page.h
r391996b r8df5f20 207 207 } __attribute__((packed)) pte_t; 208 208 209 NO_TRACE static inline unsigned int get_pt_flags(pte_t *pt, size_t i)209 _NO_TRACE static inline unsigned int get_pt_flags(pte_t *pt, size_t i) 210 210 { 211 211 pte_t *p = &pt[i]; … … 220 220 } 221 221 222 NO_TRACE static inline void set_pt_addr(pte_t *pt, size_t i, uintptr_t a)222 _NO_TRACE static inline void set_pt_addr(pte_t *pt, size_t i, uintptr_t a) 223 223 { 224 224 pte_t *p = &pt[i]; … … 228 228 } 229 229 230 NO_TRACE static inline void set_pt_flags(pte_t *pt, size_t i, int flags)230 _NO_TRACE static inline void set_pt_flags(pte_t *pt, size_t i, int flags) 231 231 { 232 232 pte_t *p = &pt[i]; … … 245 245 } 246 246 247 NO_TRACE static inline void set_pt_present(pte_t *pt, size_t i)247 _NO_TRACE static inline void set_pt_present(pte_t *pt, size_t i) 248 248 { 249 249 pte_t *p = &pt[i];
Note:
See TracChangeset
for help on using the changeset viewer.
