~ubuntu-branches/ubuntu/karmic/virtualbox-ose/karmic-updates

« back to all changes in this revision

Viewing changes to src/VBox/Additions/x11/x11include/xorg-server-1.5.3/xf86int10.h

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2009-09-14 18:25:07 UTC
  • mfrom: (0.4.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090914182507-c98g07mq16hjmn6d
Tags: 3.0.6-dfsg-1ubuntu1
* Merge from debian unstable (LP: #429697), remaining changes:
  - Enable DKMS support on virtualbox host and guest modules (LP: #267097)
    - Drop virtualbox-ose{-guest,}-modules-* package templates
    - Recommend *-source instead of *-modules packages
    - Replace error messages related to missing/mismatched
      kernel module accordingly
  - Autoload kernel module
    - LOAD_VBOXDRV_MODULE=1 in virtualbox-ose.default
  - Disable update action
    - patches/u01-disable-update-action.dpatch
  - Virtualbox should go in Accessories, not in System tools (LP: #288590)
    - virtualbox-ose-qt.files/virtualbox-ose.desktop
  - Add apport hook
    - virtualbox-ose.files/source_virtualbox-ose.py
    - virtualbox-ose.install
  - Add launchpad integration
    - control
    - lpi-bug.xpm
    - patches/u02-lp-integration.dpatch
  - virtualbox, virtualbox-* (names of the upstream proprietary packages)
    conflict with virtualbox-ose (LP: #379878)
* Make debug package depend on normal or guest utils package
* Drop patches/22-pulseaudio-stubs.dpatch (applied upstream)
* Rename Ubuntu specific patches to uXX-*.dpatch
* Fix lintian warnings in maintainer scripts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
/*
3
 
 *                   XFree86 int10 module
4
 
 *   execute BIOS int 10h calls in x86 real mode environment
5
 
 *                 Copyright 1999 Egbert Eich
6
 
 */
7
 
 
8
 
#ifndef _XF86INT10_H
9
 
#define _XF86INT10_H
10
 
 
11
 
#include <X11/Xmd.h>
12
 
#include <X11/Xdefs.h>
13
 
#include "xf86Pci.h"
14
 
 
15
 
#define SEG_ADDR(x) (((x) >> 4) & 0x00F000)
16
 
#define SEG_OFF(x) ((x) & 0x0FFFF)
17
 
 
18
 
#define SET_BIOS_SCRATCH     0x1
19
 
#define RESTORE_BIOS_SCRATCH 0x2
20
 
 
21
 
/* int10 info structure */
22
 
typedef struct {
23
 
    int entityIndex;
24
 
    int scrnIndex;
25
 
    pointer cpuRegs;
26
 
    CARD16  BIOSseg;
27
 
    CARD16  inb40time;
28
 
    char * BIOSScratch;
29
 
    int Flags;
30
 
    pointer private;
31
 
    struct _int10Mem* mem;
32
 
    int num;
33
 
    int ax;
34
 
    int bx;
35
 
    int cx;
36
 
    int dx;
37
 
    int si;
38
 
    int di;
39
 
    int es;
40
 
    int bp;
41
 
    int flags;
42
 
    int stackseg;
43
 
    struct pci_device *dev;
44
 
    IOADDRESS ioBase;
45
 
} xf86Int10InfoRec, *xf86Int10InfoPtr;
46
 
 
47
 
typedef struct _int10Mem {
48
 
    CARD8(*rb)(xf86Int10InfoPtr, int);
49
 
    CARD16(*rw)(xf86Int10InfoPtr, int);
50
 
    CARD32(*rl)(xf86Int10InfoPtr, int);
51
 
    void(*wb)(xf86Int10InfoPtr, int, CARD8);
52
 
    void(*ww)(xf86Int10InfoPtr, int, CARD16);
53
 
    void(*wl)(xf86Int10InfoPtr, int, CARD32);
54
 
} int10MemRec, *int10MemPtr;
55
 
 
56
 
typedef struct {
57
 
    CARD8 save_msr;
58
 
    CARD8 save_pos102;
59
 
    CARD8 save_vse;
60
 
    CARD8 save_46e8;
61
 
} legacyVGARec, *legacyVGAPtr;
62
 
    
63
 
/* OS dependent functions */
64
 
xf86Int10InfoPtr xf86InitInt10(int entityIndex);
65
 
xf86Int10InfoPtr xf86ExtendedInitInt10(int entityIndex, int Flags);
66
 
void xf86FreeInt10(xf86Int10InfoPtr pInt);
67
 
void *xf86Int10AllocPages(xf86Int10InfoPtr pInt, int num, int *off);
68
 
void xf86Int10FreePages(xf86Int10InfoPtr pInt, void *pbase, int num);
69
 
pointer xf86int10Addr(xf86Int10InfoPtr pInt, CARD32 addr);
70
 
 
71
 
/* x86 executor related functions */
72
 
void xf86ExecX86int10(xf86Int10InfoPtr pInt);
73
 
 
74
 
#ifdef _INT10_PRIVATE
75
 
 
76
 
#define I_S_DEFAULT_INT_VECT 0xFF065
77
 
#define SYS_SIZE 0x100000
78
 
#define SYS_BIOS 0xF0000
79
 
#if 1
80
 
#define BIOS_SIZE 0x10000
81
 
#else /* a bug in DGUX requires this - let's try it */
82
 
#define BIOS_SIZE (0x10000 - 1)
83
 
#endif
84
 
#define LOW_PAGE_SIZE 0x600
85
 
#define V_RAM 0xA0000
86
 
#define VRAM_SIZE 0x20000
87
 
#define V_BIOS_SIZE 0x10000
88
 
#define V_BIOS 0xC0000
89
 
#define BIOS_SCRATCH_OFF 0x449
90
 
#define BIOS_SCRATCH_END 0x466
91
 
#define BIOS_SCRATCH_LEN (BIOS_SCRATCH_END - BIOS_SCRATCH_OFF + 1)
92
 
#define HIGH_MEM V_BIOS
93
 
#define HIGH_MEM_SIZE (SYS_BIOS - HIGH_MEM)
94
 
#define SEG_ADR(type, seg, reg)  type((seg << 4) + (X86_##reg))
95
 
#define SEG_EADR(type, seg, reg) type((seg << 4) + (X86_E##reg))
96
 
 
97
 
#define X86_TF_MASK             0x00000100
98
 
#define X86_IF_MASK             0x00000200
99
 
#define X86_IOPL_MASK           0x00003000
100
 
#define X86_NT_MASK             0x00004000
101
 
#define X86_VM_MASK             0x00020000
102
 
#define X86_AC_MASK             0x00040000
103
 
#define X86_VIF_MASK            0x00080000      /* virtual interrupt flag */
104
 
#define X86_VIP_MASK            0x00100000      /* virtual interrupt pending */
105
 
#define X86_ID_MASK             0x00200000
106
 
 
107
 
#define MEM_RB(name, addr)      (*name->mem->rb)(name, addr)
108
 
#define MEM_RW(name, addr)      (*name->mem->rw)(name, addr)
109
 
#define MEM_RL(name, addr)      (*name->mem->rl)(name, addr)
110
 
#define MEM_WB(name, addr, val) (*name->mem->wb)(name, addr, val)
111
 
#define MEM_WW(name, addr, val) (*name->mem->ww)(name, addr, val)
112
 
#define MEM_WL(name, addr, val) (*name->mem->wl)(name, addr, val)
113
 
 
114
 
/* OS dependent functions */
115
 
Bool MapCurrentInt10(xf86Int10InfoPtr pInt);
116
 
/* x86 executor related functions */
117
 
Bool xf86Int10ExecSetup(xf86Int10InfoPtr pInt);
118
 
 
119
 
/* int.c */
120
 
extern xf86Int10InfoPtr Int10Current;
121
 
int int_handler(xf86Int10InfoPtr pInt);
122
 
 
123
 
/* helper_exec.c */
124
 
int setup_int(xf86Int10InfoPtr pInt);
125
 
void finish_int(xf86Int10InfoPtr, int sig);
126
 
CARD32 getIntVect(xf86Int10InfoPtr pInt, int num);
127
 
void pushw(xf86Int10InfoPtr pInt, CARD16 val);
128
 
int run_bios_int(int num, xf86Int10InfoPtr pInt);
129
 
void dump_code(xf86Int10InfoPtr pInt);
130
 
void dump_registers(xf86Int10InfoPtr pInt);
131
 
void stack_trace(xf86Int10InfoPtr pInt);
132
 
xf86Int10InfoPtr getInt10Rec(int entityIndex);
133
 
CARD8 bios_checksum(const CARD8 *start, int size);
134
 
void LockLegacyVGA(xf86Int10InfoPtr pInt, legacyVGAPtr vga);
135
 
void UnlockLegacyVGA(xf86Int10InfoPtr pInt, legacyVGAPtr vga);
136
 
#if defined (_PC)
137
 
void xf86Int10SaveRestoreBIOSVars(xf86Int10InfoPtr pInt, Bool save);
138
 
#endif
139
 
int port_rep_inb(xf86Int10InfoPtr pInt,
140
 
                 CARD16 port, CARD32 base, int d_f, CARD32 count);
141
 
int port_rep_inw(xf86Int10InfoPtr pInt,
142
 
                 CARD16 port, CARD32 base, int d_f, CARD32 count);
143
 
int port_rep_inl(xf86Int10InfoPtr pInt,
144
 
                 CARD16 port, CARD32 base, int d_f, CARD32 count);
145
 
int port_rep_outb(xf86Int10InfoPtr pInt,
146
 
                  CARD16 port, CARD32 base, int d_f, CARD32 count);
147
 
int port_rep_outw(xf86Int10InfoPtr pInt,
148
 
                  CARD16 port, CARD32 base, int d_f, CARD32 count);
149
 
int port_rep_outl(xf86Int10InfoPtr pInt,
150
 
                  CARD16 port, CARD32 base, int d_f, CARD32 count);
151
 
 
152
 
CARD8 x_inb(CARD16 port);
153
 
CARD16 x_inw(CARD16 port);
154
 
void x_outb(CARD16 port, CARD8 val);
155
 
void x_outw(CARD16 port, CARD16 val);
156
 
CARD32 x_inl(CARD16 port);
157
 
void x_outl(CARD16 port, CARD32 val);
158
 
 
159
 
CARD8 Mem_rb(CARD32 addr);
160
 
CARD16 Mem_rw(CARD32 addr);
161
 
CARD32 Mem_rl(CARD32 addr);
162
 
void Mem_wb(CARD32 addr, CARD8 val);
163
 
void Mem_ww(CARD32 addr, CARD16 val);
164
 
void Mem_wl(CARD32 addr, CARD32 val);
165
 
 
166
 
/* helper_mem.c */
167
 
void setup_int_vect(xf86Int10InfoPtr pInt);
168
 
int setup_system_bios(void *base_addr);
169
 
void reset_int_vect(xf86Int10InfoPtr pInt);
170
 
void set_return_trap(xf86Int10InfoPtr pInt);
171
 
void * xf86HandleInt10Options(ScrnInfoPtr pScrn, int entityIndex);
172
 
Bool int10skip(const void* options);
173
 
Bool int10_check_bios(int scrnIndex, int codeSeg,
174
 
    const unsigned char* vbiosMem);
175
 
Bool initPrimary(const void* options);
176
 
BusType xf86int10GetBiosLocationType(const xf86Int10InfoPtr pInt);
177
 
Bool xf86int10GetBiosSegment(xf86Int10InfoPtr pInt, void *base);
178
 
#ifdef DEBUG
179
 
void dprint(unsigned long start, unsigned long size);
180
 
#endif
181
 
 
182
 
#endif /* _INT10_PRIVATE */
183
 
#endif /* _XF86INT10_H */