Made our kernel-emu a bit more complete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22634 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
85b69a9437
commit
d0a41190b6
@ -697,6 +697,39 @@ devfs_publish_partition(const char *path, const partition_info *info)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" int32
|
||||||
|
atomic_test_and_set(vint32 *value, int32 newValue, int32 testAgainst)
|
||||||
|
{
|
||||||
|
#if __INTEL__
|
||||||
|
int32 oldValue;
|
||||||
|
asm volatile("lock; cmpxchg %%ecx, (%%edx)"
|
||||||
|
: "=a" (oldValue) : "a" (testAgainst), "c" (newValue), "d" (value));
|
||||||
|
return oldValue;
|
||||||
|
#else
|
||||||
|
#warn "atomic_test_and_set() won't work correctly!"
|
||||||
|
int32 oldValue = *value;
|
||||||
|
if (oldValue == testAgainst)
|
||||||
|
*value = newValue;
|
||||||
|
|
||||||
|
return oldValue;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" int
|
||||||
|
add_debugger_command(char *name, int (*func)(int, char **), char *desc)
|
||||||
|
{
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" int
|
||||||
|
remove_debugger_command(char * name, int (*func)(int, char **))
|
||||||
|
{
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
extern "C" void
|
extern "C" void
|
||||||
panic(const char *format, ...)
|
panic(const char *format, ...)
|
||||||
{
|
{
|
||||||
@ -728,6 +761,19 @@ dprintf(const char *format,...)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" void
|
||||||
|
kprintf(const char *format,...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
va_start(args, format);
|
||||||
|
printf("\33[35m");
|
||||||
|
vprintf(format, args);
|
||||||
|
printf("\33[0m");
|
||||||
|
fflush(stdout);
|
||||||
|
va_end(args);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
extern "C" void
|
extern "C" void
|
||||||
dump_block(const char *buffer, int size, const char *prefix)
|
dump_block(const char *buffer, int size, const char *prefix)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user