diff options
Diffstat (limited to 'src/VBox/VMM/dtrace/lib')
-rw-r--r-- | src/VBox/VMM/dtrace/lib/amd64/vbox-arch-types.d | 49 | ||||
-rw-r--r-- | src/VBox/VMM/dtrace/lib/vbox-types.d | 68 | ||||
-rw-r--r-- | src/VBox/VMM/dtrace/lib/x86/vbox-arch-types.d | 32 |
3 files changed, 149 insertions, 0 deletions
diff --git a/src/VBox/VMM/dtrace/lib/amd64/vbox-arch-types.d b/src/VBox/VMM/dtrace/lib/amd64/vbox-arch-types.d new file mode 100644 index 00000000..6d1b3442 --- /dev/null +++ b/src/VBox/VMM/dtrace/lib/amd64/vbox-arch-types.d @@ -0,0 +1,49 @@ +/** @file + * VBox & DTrace - Types and Constants for AMD64. + */ + +/* + * Copyright (C) 2012-2023 Oracle and/or its affiliates. + * + * This file is part of VirtualBox base platform packages, as + * available from https://www.virtualbox.org. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, in version 3 of the + * License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <https://www.gnu.org/licenses>. + * + * SPDX-License-Identifier: GPL-3.0-only + */ + + +inline unsigned HC_ARCH_BITS = 64; +typedef uint64_t RTR3PTR; +typedef void *RTR0PTR; +typedef uint64_t RTHCPTR; + + + +typedef union RTFLOAT80U +{ + uint16_t au16[5]; +} RTFLOAT80U; + +typedef union RTFLOAT80U2 +{ + uint16_t au16[5]; +} RTFLOAT80U2; + +typedef struct uint128_t +{ + uint64_t au64[2]; +} uint128_t; + diff --git a/src/VBox/VMM/dtrace/lib/vbox-types.d b/src/VBox/VMM/dtrace/lib/vbox-types.d new file mode 100644 index 00000000..8fcf4915 --- /dev/null +++ b/src/VBox/VMM/dtrace/lib/vbox-types.d @@ -0,0 +1,68 @@ +/** @file + * VBox & DTrace - Types and Constants. + */ + +/* + * Copyright (C) 2012-2023 Oracle and/or its affiliates. + * + * This file is part of VirtualBox base platform packages, as + * available from https://www.virtualbox.org. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, in version 3 of the + * License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <https://www.gnu.org/licenses>. + * + * SPDX-License-Identifier: GPL-3.0-only + */ + + +/* + * Types used by the other D structure and type definitions. + * + * These are taken from a variation of VBox and IPRT headers. + */ +#pragma D depends_on library vbox-arch-types.d + +typedef uint64_t RTGCPHYS; +typedef uint64_t RTHCPHYS; +typedef uint16_t RTSEL; +typedef uint32_t RTRCPTR; +typedef uintptr_t RTNATIVETHREAD; +typedef struct RTTHREADINT *RTTHREAD; +typedef struct RTTRACEBUFINT *RTTRACEBUF; + + +typedef uint32_t VMSTATE; +typedef uint32_t VMCPUID; +typedef uint32_t RTCPUID; +typedef struct UVMCPU *PUVMCPU; +typedef uintptr_t PVMR3; +typedef uint32_t PVMRC; +typedef struct VM *PVMR0; +typedef struct SUPDRVSESSION *PSUPDRVSESSION; +typedef struct UVM *PUVM; +typedef struct CPUMCTX *PCPUMCTX; +typedef struct SVMVMCB *PSVMVMCB; +typedef uint32_t VMXVDIAG; +typedef struct VMXVVMCS *PVMXVVMCS; + +typedef struct VBOXGDTR +{ + uint16_t cb; + uint16_t au16Addr[4]; +} VBOXGDTR, VBOXIDTR; + +typedef struct STAMPROFILEADV +{ + uint64_t au64[5]; +} STAMPROFILEADV; + diff --git a/src/VBox/VMM/dtrace/lib/x86/vbox-arch-types.d b/src/VBox/VMM/dtrace/lib/x86/vbox-arch-types.d new file mode 100644 index 00000000..7b2ef977 --- /dev/null +++ b/src/VBox/VMM/dtrace/lib/x86/vbox-arch-types.d @@ -0,0 +1,32 @@ +/** @file + * VBox & DTrace - Types and Constants for X86. + */ + +/* + * Copyright (C) 2012-2023 Oracle and/or its affiliates. + * + * This file is part of VirtualBox base platform packages, as + * available from https://www.virtualbox.org. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, in version 3 of the + * License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <https://www.gnu.org/licenses>. + * + * SPDX-License-Identifier: GPL-3.0-only + */ + + +inline unsigned HC_ARCH_BITS = 32; +typedef uint32_t RTR3PTR; +typedef uint32_t RTHCPTR; +typedef void *RTR0PTR; + |