DBGFAddr.cpp revision 42c1972c22e09797b4b24afbd0ec114ed076c37c
/* $Id$ */
/** @file
* DBGF - Debugger Facility, Mixed Address Methods.
*/
/*
* Copyright (C) 2006-2007 Sun Microsystems, Inc.
*
* 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 (GPL) 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.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
/*******************************************************************************
* Header Files *
*******************************************************************************/
#define LOG_GROUP LOG_GROUP_DBGF
#include "DBGFInternal.h"
/**
* Checks if an address is in the HMA or not.
* @returns true if it's inside the HMA.
* @returns flase if it's not inside the HMA.
* @param pVM The VM handle.
* @param FlatPtr The address in question.
*/
{
}
/**
* Creates a mixed address from a Sel:off pair.
*
* @returns VBox status code.
* @param pVM The VM handle.
* @param pAddress Where to store the mixed address.
* @param Sel The selector part.
* @param off The offset part.
*/
{
if (Sel != DBGF_SEL_FLAT)
{
/* @todo SMP support!! */
if (RT_FAILURE(rc))
return rc;
/* check limit. */
if (SELMSelInfoIsExpandDown(&SelInfo))
{
return VERR_OUT_OF_SELECTOR_BOUNDS;
return VERR_OUT_OF_SELECTOR_BOUNDS;
}
return VERR_OUT_OF_SELECTOR_BOUNDS;
/** @todo fix this flat selector test! */
else
}
else
{
}
return VINF_SUCCESS;
}
/**
* Creates a mixed address from a flat address.
*
* @param pVM The VM handle.
* @param pAddress Where to store the mixed address.
* @param FlatPtr The flat pointer.
*/
{
return pAddress;
}
/**
* Creates a mixed address from a guest physical address.
*
* @param pVM The VM handle.
* @param pAddress Where to store the mixed address.
* @param PhysAddr The guest physical address.
*/
{
}
/**
* Checks if the specified address is valid (checks the structure pointer too).
*
* @returns true if valid.
* @returns false if invalid.
* @param pVM The VM handle.
* @param pAddress The address to validate.
*/
{
return false;
if (!DBGFADDRESS_IS_VALID(pAddress))
return false;
/* more? */
return true;
}