/* Copyright (c) 2015 Google Inc.
 * Barret Rhoden <brho@cs.berkeley.edu>
 * See LICENSE for details.
 *
 * Arch-independent VMM kernel headers */

#pragma once

#include <ros/arch/vmm.h>

/* VMCALL FUNCTION NUMBERS */
#define VMCALL_PRINTC		0x1
#define VMCALL_SMPBOOT		0x2
#define VMCALL_GET_TSCFREQ	0x3
#define VMCALL_TRACE_TF		0x4

#define VMM_CTL_GET_EXITS		1
#define VMM_CTL_SET_EXITS		2
#define VMM_CTL_GET_FLAGS		3
#define VMM_CTL_SET_FLAGS		4

#define VMM_CTL_EXIT_HALT		(1 << 0)
#define VMM_CTL_EXIT_PAUSE		(1 << 1)
#define VMM_CTL_EXIT_MWAIT		(1 << 2)
#define VMM_CTL_ALL_EXITS		((1 << 3) - 1)

#define VMM_CTL_FL_KERN_PRINTC		(1 << 0)
#define VMM_CTL_ALL_FLAGS		(VMM_CTL_FL_KERN_PRINTC)
