git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: corner cases when printing large content through term interface
[lunaix-os.git]
/
lunaix-os
/
arch
/
i386
/
includes
/
sys
/
cpu.h
diff --git
a/lunaix-os/arch/i386/includes/sys/cpu.h
b/lunaix-os/arch/i386/includes/sys/cpu.h
index 3289522af918840f3172ca4fe275049c86bb5483..78faf38f84aaa683bd7614b5b1a0e4f88b501155 100644
(file)
--- a/
lunaix-os/arch/i386/includes/sys/cpu.h
+++ b/
lunaix-os/arch/i386/includes/sys/cpu.h
@@
-89,7
+89,7
@@
cpu_chvmspace(u32_t val)
}
/**
}
/**
- * @brief Flush
TLB
+ * @brief Flush
a certain TLB record
*
* @return u32_t
*/
*
* @return u32_t
*/
@@
-99,6
+99,10
@@
cpu_flush_page(ptr_t va)
asm volatile("invlpg (%0)" ::"r"(va) : "memory");
}
asm volatile("invlpg (%0)" ::"r"(va) : "memory");
}
+/**
+ * @brief Flush entire TLB
+ *
+ */
static inline void
cpu_flush_vmspace()
{
static inline void
cpu_flush_vmspace()
{
@@
-125,6
+129,11
@@
cpu_wait()
asm("hlt");
}
asm("hlt");
}
+/**
+ * @brief Read exeception address
+ *
+ * @return ptr_t
+ */
static inline ptr_t
cpu_ldeaddr()
{
static inline ptr_t
cpu_ldeaddr()
{