VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/bootsectors/bootsector2-structures.mac

Last change on this file was 106061, checked in by vboxsync, 3 days ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1; $Id: bootsector2-structures.mac 106061 2024-09-16 14:03:52Z vboxsync $
2;; @file
3; Common structures.
4;
5
6;
7; Copyright (C) 2007-2024 Oracle and/or its affiliates.
8;
9; This file is part of VirtualBox base platform packages, as
10; available from https://www.virtualbox.org.
11;
12; This program is free software; you can redistribute it and/or
13; modify it under the terms of the GNU General Public License
14; as published by the Free Software Foundation, in version 3 of the
15; License.
16;
17; This program is distributed in the hope that it will be useful, but
18; WITHOUT ANY WARRANTY; without even the implied warranty of
19; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20; General Public License for more details.
21;
22; You should have received a copy of the GNU General Public License
23; along with this program; if not, see <https://www.gnu.org/licenses>.
24;
25; The contents of this file may alternatively be used under the terms
26; of the Common Development and Distribution License Version 1.0
27; (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28; in the VirtualBox distribution, in which case the provisions of the
29; CDDL are applicable instead of those of the GPL.
30;
31; You may elect to license modified versions of this file under the
32; terms and conditions of either the GPL or the CDDL or both.
33;
34; SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35;
36
37%ifndef ___bootsector2_structures_mac___
38%define ___bootsector2_structures_mac___
39
40
41;;
42; Registers. Used by traps and such.
43;
44struc BS2REGS
45 .rax resq 1
46 .rbx resq 1
47 .rcx resq 1
48 .rdx resq 1
49 .rdi resq 1
50 .rsi resq 1
51 .rbp resq 1
52 .rsp resq 1
53 .rip resq 1
54 .r8 resq 1
55 .r9 resq 1
56 .r10 resq 1
57 .r11 resq 1
58 .r12 resq 1
59 .r13 resq 1
60 .r14 resq 1
61 .r15 resq 1
62 .rflags resq 1
63 .cs resw 1
64 .ds resw 1
65 .es resw 1
66 .fs resw 1
67 .gs resw 1
68 .ss resw 1
69 .cBits resb 1
70 .pad resb 3
71 .cr0 resq 1
72 .cr2 resq 1
73 .cr3 resq 1
74 .cr4 resq 1
75 .cr8 resq 1
76 ;; @todo Add floating point registers when they are active.
77endstruc
78
79
80
81;;
82; Trap record.
83;
84struc BS2TRAPREC
85 ;; The trap location relative to the base address given at
86 ; registration time.
87 .offWhere resd 1
88 ;; What to add to .offWhere to calculate the resume address.
89 .offResumeAddend resb 1
90 ;; The trap number.
91 .u8TrapNo resb 1
92 ;; The error code if the trap takes one.
93 .u16ErrCd resw 1
94endstruc
95
96;; The size shift.
97%define BS2TRAPREC_SIZE_SHIFT 3
98
99
100%endif
101
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