IOMGC.cpp revision ccf9b379b255d7680e5bae6cf8ed2962f8f23509
/* $Id$ */
/** @file
* IOM - Input / Output Monitor - Guest Context.
*/
/*
* Copyright (C) 2006 InnoTek Systemberatung GmbH
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License as published by the Free Software Foundation,
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
* distribution. VirtualBox OSE is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY of any kind.
*
* If you received this file as part of a commercial VirtualBox
* distribution, then only the terms of your commercial VirtualBox
* license agreement apply instead of the previous paragraph.
*/
/*******************************************************************************
* Header Files *
*******************************************************************************/
#define LOG_GROUP LOG_GROUP_IOM
#include "IOMInternal.h"
#include <VBox/disopcode.h>
/**
*
* The \#GP trap handler in GC will call this function if the opcode causing the
* trap is a in or out type instruction.
*
* @returns VBox status code.
*
* @param pVM The virtual machine (GC pointer ofcourse).
* @param pRegFrame Pointer to CPUMCTXCORE guest registers structure.
* @param pCpu Disassembler CPU state.
*/
{
{
case OP_IN:
case OP_OUT:
case OP_INSB:
case OP_INSWD:
case OP_OUTSB:
case OP_OUTSWD:
/*
* The opcode wasn't know to us, freak out.
*/
default:
return VERR_INTERNAL_ERROR;
}
}