tstAsmStructs.cpp revision 43747b1f0bc8302a238fb35e55857a5e9aa1933d
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/* $Id$ */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/** @file
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync * Testcase for checking offsets in the assembly structures shared with C/C++.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/*
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * Copyright (C) 2006-2007 Oracle Corporation
d63de4508a08b11f57c307a15eda3cd95485bf2cvboxsync *
d63de4508a08b11f57c307a15eda3cd95485bf2cvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
d63de4508a08b11f57c307a15eda3cd95485bf2cvboxsync * available from http://www.virtualbox.org. This file is free software;
d63de4508a08b11f57c307a15eda3cd95485bf2cvboxsync * you can redistribute it and/or modify it under the terms of the GNU
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * General Public License (GPL) as published by the Free Software
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync */
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync/*******************************************************************************
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync* Header Files *
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync*******************************************************************************/
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include <VBox/vmm/cpum.h>
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include "CPUMInternal.h"
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include <VBox/vmm/trpm.h>
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include "TRPMInternal.h"
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include "HWACCMInternal.h"
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include "VMMSwitcher.h"
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include "VMMInternal.h"
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include <VBox/vmm/vm.h>
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include "tstHelp.h"
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync#include <stdio.h>
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsync
4bc1bbf45f30ff3ca38c2ad006836e490972c7ccvboxsyncint main()
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync{
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync int rc = 0;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync printf("tstAsmStructs: TESTING\n");
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#ifdef IN_RING3
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# include "tstAsmStructsHC.h"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#else
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# include "tstAsmStructsRC.h"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync if (rc)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync printf("tstAsmStructs: FAILURE - %d errors \n", rc);
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync else
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync printf("tstAsmStructs: SUCCESS\n");
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync return rc;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync}
cb172d105a87f41489b1553fbd99ec97932609ffvboxsync