DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx));
DEFINE(UM_THREAD_SIZE, THREAD_SIZE);
+
+DEFINE(UM_HZ, HZ);
extern void init_flush_vm(void);
extern void *syscall_sp(void *t);
extern void syscall_trace(struct uml_pt_regs *regs, int entryexit);
-extern int hz(void);
extern unsigned int do_IRQ(int irq, struct uml_pt_regs *regs);
extern void interrupt_end(void);
extern void initial_thread_cb(void (*proc)(void *), void *arg);
#include "kern_util.h"
#include "os.h"
-int hz(void)
-{
- return HZ;
-}
-
/*
* Scheduler clock - returns current time in nanosec units.
*/
*data = ((struct stub_data) { .offset = MMAP_OFFSET(new_offset),
.fd = new_fd,
.timer = ((struct itimerval)
- { { 0, 1000000 / hz() },
- { 0, 1000000 / hz() }})});
+ { { 0, 1000000 / UM_HZ },
+ { 0, 1000000 / UM_HZ }})
+ });
err = ptrace_setregs(pid, thread_regs);
if (err < 0)
panic("copy_context_skas0 : PTRACE_SETREGS failed, "
#include <signal.h>
#include <time.h>
#include <sys/time.h>
-#include "kern_util.h"
#include "kern_constants.h"
#include "os.h"
#include "user.h"
int set_interval(int is_virtual)
{
- int usec = 1000000/hz();
+ int usec = 1000000/UM_HZ;
int timer_type = is_virtual ? ITIMER_VIRTUAL : ITIMER_REAL;
struct itimerval interval = ((struct itimerval) { { 0, usec },
{ 0, usec } });
void switch_timers(int to_real)
{
struct itimerval disable = ((struct itimerval) { { 0, 0 }, { 0, 0 }});
- struct itimerval enable = ((struct itimerval) { { 0, 1000000/hz() },
- { 0, 1000000/hz() }});
+ struct itimerval enable = ((struct itimerval) { { 0, 1000000/UM_HZ },
+ { 0, 1000000/UM_HZ }});
int old, new;
if (to_real) {