mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
to simplify the porting. 64 bit version of Mini-os now compiles, but does not work because of the pagetables and some bits of scheduler not being written. Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
74 lines
1.4 KiB
C
74 lines
1.4 KiB
C
/*
|
|
****************************************************************************
|
|
* (C) 2005 - Grzegorz Milos - Intel Reseach Cambridge
|
|
****************************************************************************
|
|
*
|
|
* File: traps.h
|
|
* Author: Grzegorz Milos (gm281@cam.ac.uk)
|
|
*
|
|
* Date: Jun 2005
|
|
*
|
|
* Environment: Xen Minimal OS
|
|
* Description: Deals with traps
|
|
*
|
|
****************************************************************************
|
|
*/
|
|
|
|
#ifndef _TRAPS_H_
|
|
#define _TRAPS_H_
|
|
|
|
#ifdef __i386__
|
|
struct pt_regs {
|
|
long ebx;
|
|
long ecx;
|
|
long edx;
|
|
long esi;
|
|
long edi;
|
|
long ebp;
|
|
long eax;
|
|
int xds;
|
|
int xes;
|
|
long orig_eax;
|
|
long eip;
|
|
int xcs;
|
|
long eflags;
|
|
long esp;
|
|
int xss;
|
|
};
|
|
#elif __x86_64__
|
|
|
|
struct pt_regs {
|
|
unsigned long r15;
|
|
unsigned long r14;
|
|
unsigned long r13;
|
|
unsigned long r12;
|
|
unsigned long rbp;
|
|
unsigned long rbx;
|
|
/* arguments: non interrupts/non tracing syscalls only save upto here*/
|
|
unsigned long r11;
|
|
unsigned long r10;
|
|
unsigned long r9;
|
|
unsigned long r8;
|
|
unsigned long rax;
|
|
unsigned long rcx;
|
|
unsigned long rdx;
|
|
unsigned long rsi;
|
|
unsigned long rdi;
|
|
unsigned long orig_rax;
|
|
/* end of arguments */
|
|
/* cpu exception frame or undefined */
|
|
unsigned long rip;
|
|
unsigned long cs;
|
|
unsigned long eflags;
|
|
unsigned long rsp;
|
|
unsigned long ss;
|
|
/* top of stack page */
|
|
};
|
|
|
|
|
|
#endif
|
|
|
|
void dump_regs(struct pt_regs *regs);
|
|
|
|
#endif /* _TRAPS_H_ */
|