VirtualBox

source: vbox/trunk/include/VBox/bios.h@ 104429

Last change on this file since 104429 was 100456, checked in by vboxsync, 14 months ago

BIOS: Added a way for the APM BIOS to halt the virtual CPU through port I/O instead of HLT to solve problems with obstinate guests (see bugref:6549).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
RevLine 
[66149]1/** @file
2 * X86 (and AMD64) Local APIC registers (VMM,++).
3 *
4 * bios.mac is generated from this file by running 'kmk -f Maintenance.kmk incs'.
5 */
6
7/*
[98103]8 * Copyright (C) 2017-2023 Oracle and/or its affiliates.
[66149]9 *
[96407]10 * This file is part of VirtualBox base platform packages, as
11 * available from https://www.virtualbox.org.
[66149]12 *
[96407]13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation, in version 3 of the
16 * License.
17 *
18 * This program is distributed in the hope that it will be useful, but
19 * WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, see <https://www.gnu.org/licenses>.
25 *
[66149]26 * The contents of this file may alternatively be used under the terms
27 * of the Common Development and Distribution License Version 1.0
[96407]28 * (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
29 * in the VirtualBox distribution, in which case the provisions of the
[66149]30 * CDDL are applicable instead of those of the GPL.
31 *
32 * You may elect to license modified versions of this file under the
33 * terms and conditions of either the GPL or the CDDL or both.
[96407]34 *
35 * SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
[66149]36 */
37
[76558]38#ifndef VBOX_INCLUDED_bios_h
39#define VBOX_INCLUDED_bios_h
[76507]40#ifndef RT_WITHOUT_PRAGMA_ONCE
41# pragma once
42#endif
[66149]43
[100456]44/** The BIOS control port.
45 * Write "Shutdown" byte by byte to shutdown the VM.
46 * Write "Bootfail" to indicate no bootable device.
47 * Write "Prochalt" to execute alternative CPU halt.
[66149]48 * @sa VBOX_BIOS_OLD_SHUTDOWN_PORT */
49#define VBOX_BIOS_SHUTDOWN_PORT 0x040f
50
[100456]51/** Write this value to shut down VM. */
52#define VBOX_BIOS_CTL_SHUTDOWN 0x8001
53/** Write this value to report boot failure. */
54#define VBOX_BIOS_CTL_BOOTFAIL 0x8002
55/** Write this value to halt CPU. */
56#define VBOX_BIOS_CTL_PROCHALT 0x8003
57
[66149]58/** The old shutdown port number.
59 * Older versions of VirtualBox uses this as does Bochs.
[100456]60 * @sa VBOX_BIOS_CONTROL_PORT */
[66149]61#define VBOX_BIOS_OLD_SHUTDOWN_PORT 0x8900
62
63
[76585]64#endif /* !VBOX_INCLUDED_bios_h */
[66149]65
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