projects
/
dosdemo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- VBE banked mode fixes backported from rbench
[dosdemo]
/
src
/
util.h
diff --git
a/src/util.h
b/src/util.h
index
8a46036
..
35d1a97
100644
(file)
--- a/
src/util.h
+++ b/
src/util.h
@@
-168,14
+168,14
@@
static void INLINE memset16(void *dest, uint16_t val, int count)
: "%eax", "%ebx", "%ecx", "%edx")
#define debug_break() \
: "%eax", "%ebx", "%ecx", "%edx")
#define debug_break() \
- asm volatile ("int $3")
+ asm volatile("int $3")
#define halt() \
asm volatile("hlt")
#endif
#ifdef _MSC_VER
#define halt() \
asm volatile("hlt")
#endif
#ifdef _MSC_VER
-void __inline memset16(void *dest, uint16_t val, int count)
+static void __inline memset16(void *dest, uint16_t val, int count)
{
__asm {
cld
{
__asm {
cld
@@
-221,6
+221,23
@@
void __inline memset16(void *dest, uint16_t val, int count)
do { \
__asm { int 3 } \
} while(0)
do { \
__asm { int 3 } \
} while(0)
+
+static unsigned int __inline get_cs(void)
+{
+ unsigned int res;
+ __asm {
+ xor eax, eax
+ mov ax, cs
+ mov [res], ax
+ }
+ return res;
+}
#endif
#endif
+unsigned int get_cs(void);
+#define get_cpl() ((int)(get_cs() & 7))
+
+void get_msr(uint32_t msr, uint32_t *low, uint32_t *high);
+void set_msr(uint32_t msr, uint32_t low, uint32_t high);
+
#endif /* UTIL_H_ */
#endif /* UTIL_H_ */