VirtualBox

source: vbox/trunk/src/VBox/HostDrivers/Support/testcase/tstPage.cpp@ 4071

Last change on this file since 4071 was 4071, checked in by vboxsync, 17 years ago

Biggest check-in ever. New source code headers for all (C) innotek files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
Line 
1/** @file
2 *
3 * VBox host drivers - Ring-0 support drivers - Testcases:
4 * Test the page allocation interface
5 */
6
7/*
8 * Copyright (C) 2006-2007 innotek GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19
20/*******************************************************************************
21* Header Files *
22*******************************************************************************/
23#include <VBox/sup.h>
24#include <VBox/param.h>
25#include <iprt/runtime.h>
26#include <iprt/stream.h>
27#include <string.h>
28
29
30int main(int argc, char **argv)
31{
32 int cErrors = 0;
33 int rc = 0;
34 RTR3Init(true, _1M*168);
35 rc = SUPInit(NULL, _1M*168);
36 cErrors += rc != 0;
37 if (!rc)
38 {
39 void *pv;
40 rc = SUPPageAlloc(1, &pv);
41 cErrors += rc != 0;
42 if (!rc)
43 {
44 memset(pv, 0xff, PAGE_SIZE);
45 rc = SUPPageFree(pv, 1);
46 cErrors += rc != 0;
47 if (rc)
48 RTPrintf("tstPage: SUPPageFree() failed rc=%d\n", rc);
49 }
50 else
51 RTPrintf("tstPage: SUPPageAlloc(1,) failed rc=%d\n", rc);
52
53 /*
54 * Big chunk.
55 */
56 rc = SUPPageAlloc(1023, &pv);
57 cErrors += rc != 0;
58 if (!rc)
59 {
60 memset(pv, 0xfe, 1023 << PAGE_SHIFT);
61 rc = SUPPageFree(pv, 1023);
62 cErrors += rc != 0;
63 if (rc)
64 RTPrintf("tstPage: SUPPageFree() failed rc=%d\n", rc);
65 }
66 else
67 RTPrintf("tstPage: SUPPageAlloc(1,) failed rc=%d\n", rc);
68
69
70 //rc = SUPTerm();
71 cErrors += rc != 0;
72 if (rc)
73 RTPrintf("tstPage: SUPTerm failed rc=%d\n", rc);
74 }
75 else
76 RTPrintf("tstPage: SUPInit failed rc=%d\n", rc);
77
78 if (!cErrors)
79 RTPrintf("tstPage: SUCCESS\n");
80 else
81 RTPrintf("tstPage: FAILURE - %d errors\n", cErrors);
82 return !!cErrors;
83}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette