aboutsummaryrefslogtreecommitdiff
path: root/x86/gdbstub_sys.h
diff options
context:
space:
mode:
authorMatt Borgerson <contact@mborgerson.com>2019-12-17 19:47:47 -0700
committerMatt Borgerson <contact@mborgerson.com>2019-12-17 19:47:47 -0700
commit77eb93ce4eaf9667e1261fa7be0a9e9f8cc4d949 (patch)
tree98752e56525f9978d033beaf38f1c1471cd5e09b /x86/gdbstub_sys.h
parentaf1a586beb952808238834a4d65531936a97f0de (diff)
downloadgdbstub-77eb93ce4eaf9667e1261fa7be0a9e9f8cc4d949.tar.gz
Rename x86 dir to arch_x86
Diffstat (limited to 'x86/gdbstub_sys.h')
-rw-r--r--x86/gdbstub_sys.h138
1 files changed, 0 insertions, 138 deletions
diff --git a/x86/gdbstub_sys.h b/x86/gdbstub_sys.h
deleted file mode 100644
index 82f7ca9..0000000
--- a/x86/gdbstub_sys.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2016-2019 Matt Borgerson
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _GDBSTUB_SYS_H_
-#define _GDBSTUB_SYS_H_
-
-/* Define the size_t type */
-#define DBG_DEFINE_SIZET 1
-
-/* Define required standard integer types (e.g. uint16_t) */
-#define DBG_DEFINE_STDINT 1
-
-/*****************************************************************************
- * Types
- ****************************************************************************/
-
-#if DBG_DEFINE_STDINT
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned long uint32_t;
-#endif
-
-#if DBG_DEFINE_SIZET
-typedef unsigned int size_t;
-#endif
-
-typedef unsigned int address;
-typedef unsigned int reg;
-
-#pragma pack(1)
-struct dbg_interrupt_state {
- uint32_t ss;
- uint32_t gs;
- uint32_t fs;
- uint32_t es;
- uint32_t ds;
- uint32_t edi;
- uint32_t esi;
- uint32_t ebp;
- uint32_t esp;
- uint32_t ebx;
- uint32_t edx;
- uint32_t ecx;
- uint32_t eax;
- uint32_t vector;
- uint32_t error_code;
- uint32_t eip;
- uint32_t cs;
- uint32_t eflags;
-};
-#pragma pack()
-
-#pragma pack(1)
-struct dbg_idtr
-{
- uint16_t len;
- uint32_t offset;
-};
-#pragma pack()
-
-#pragma pack(1)
-struct dbg_idt_gate
-{
- uint16_t offset_low;
- uint16_t segment;
- uint16_t flags;
- uint16_t offset_high;
-};
-#pragma pack()
-
-enum DBG_REGISTER {
- DBG_CPU_I386_REG_EAX = 0,
- DBG_CPU_I386_REG_ECX = 1,
- DBG_CPU_I386_REG_EDX = 2,
- DBG_CPU_I386_REG_EBX = 3,
- DBG_CPU_I386_REG_ESP = 4,
- DBG_CPU_I386_REG_EBP = 5,
- DBG_CPU_I386_REG_ESI = 6,
- DBG_CPU_I386_REG_EDI = 7,
- DBG_CPU_I386_REG_PC = 8,
- DBG_CPU_I386_REG_PS = 9,
- DBG_CPU_I386_REG_CS = 10,
- DBG_CPU_I386_REG_SS = 11,
- DBG_CPU_I386_REG_DS = 12,
- DBG_CPU_I386_REG_ES = 13,
- DBG_CPU_I386_REG_FS = 14,
- DBG_CPU_I386_REG_GS = 15,
- DBG_CPU_I386_NUM_REGISTERS = 16
-};
-
-struct dbg_state {
- int signum;
- reg registers[DBG_CPU_I386_NUM_REGISTERS];
-};
-
-/*****************************************************************************
- * Const Data
- ****************************************************************************/
-
-extern void const * const dbg_int_handlers[];
-
-/*****************************************************************************
- * Prototypes
- ****************************************************************************/
-
-int dbg_hook_idt(uint8_t vector, const void *function);
-int dbg_init_gates(void);
-int dbg_init_idt(void);
-int dbg_load_idt(struct dbg_idtr *idtr);
-int dbg_store_idt(struct dbg_idtr *idtr);
-uint32_t dbg_get_cs(void);
-void dbg_int_handler(struct dbg_interrupt_state *istate);
-void dbg_interrupt(struct dbg_interrupt_state *istate);
-void dbg_start(void);
-void dbg_io_write_8(uint16_t port, uint8_t val);
-uint8_t dbg_io_read_8(uint16_t port);
-void *dbg_sys_memset(void *ptr, int data, size_t len);
-
-#endif