Lines Matching +full:in +full:- +full:memory

7 INT10 is  a XFree86  module for soft-booting  and executing  real mode
13 To use the int10 module in a driver the header file
14 xfree86/os-support/int10/xf86int10.h must be included.
17 -----------------
19 The int10-executer gets initialized by calling:
23 The function will soft-boot any non-primary device and return a
25 int10 execution is disabled by an option in the device section NULL
29 b. Memory allocation
30 --------------------
32 To allocate memory in the real mode execution environment
37 returns the address of the allocated area. off is set to its offset in
38 the real mode memory space.
45 -------------------------
52 the ax, bx, cx, dx, si, di and es x86-CPU registers can be set in the
57 d. De-initializing
58 -----------------
65 to free the memory allocated for real mode int10 calls.
72 CPU emulators as well as in vm86 mode of a real x86 CPU. If used with
94 to access memory from the real mode memory environment. Note, that
95 the vm86 mode usually requires one hunk of consecutive memory
96 starting at address 0 in the process virtual memory space. Thus if
98 that, ie. it must be able to remap the processes virtual memory space
99 onto itself. If the emulator is able to handle memory access thru
100 externally provided functions the real mode process memory can be
101 located anywhere in the processes virtual memory. It does not even
110 part and an emulator specific one. A generic setup code is provided in
115 If the vm86() is to be used no memory access functions can be used.
116 Therefore the layout of the real mode memory image has to meet certain
120 IPC to map the appropriate real mode memory image to address 0 in
121 virtual address space just prior to execution may be found in
122 xfree86/os-support/linux/int10/linux.c.
124 On non-PC like platforms emulation of certain PC features such as
129 -------------
131 This sets up the real mode memory image, calls the emulator to POST
132 the chipset if required and maintains memory allocations in real mode
146 a. int entityIndex - index of the entity whose BIOS is to be
148 b. int scrnIndex - index of the screen assigned the entity.
149 c. pointer cpuRegs - pointer to a emulator/vm86-mode private
152 d. CARD16 BIOSseg - Video BIOS segment address.
153 e. pointer private - pointer to a os specific data structure.
154 f. struct _int10Mem* - pointer to a structure to hold the memory
156 g. int num - number of the int to be called.
157 h. int ax..es,flags - CPU register values to pass to int-call.
159 The Init function should initialize a-f. To initialize the emulator
165 memory should be freed and xf86Int10Init(0 should exit returning NULL.
168 mapped into memory locations SYS_BIOS to SYS_SIZE-1 of the real mode
169 memory environment of this process. Otherwise the helper function:
175 corresponding to SYS_BIOS in the real mode environment. If a PC-like
177 LOW_PAGE_SIZE of the entities real mode environment. In this case the
178 video interrupt related entries should be reset for all non-primary
183 correct video BIOS entry points the BIOS must be warm-booted. If no
184 PC-like int vector is available one can be set up by calling
188 In this case the video BIOS has to be warm-booted always. If the
190 mapped (or copied) directly to the correct address in the real mode
191 memory environment. Otherwise
198 mapPciRom(). This function will return the size of the BIOS image in
204 may be called. It sets up a 'hlt' instruction in the emulator memory
207 to be warm-booted this should be done before leaving xf86InitInt10()
208 by setting num in the xf86Int10InfoRec to 0xe6 and calling
221 In case a platform specific mapping has to be performed to map the
222 memory allocated for the real mode memory environment into a specific
229 that the 1MB real mode memory space located somewhere in the processes
230 virtual memory will have to be remapped to address 0 of the virtual
231 memory space.
235 To free all memory allocated for video BIOS calls of a specific entity
247 xf86Int10AllocPages() should allocate 'num' consecutive page-size
248 chunks of memory. In real mode memory space this range needs to occupy
250 this memory. The offset in real mode memory needs to be returned in
260 -------------------------------
276 set up the non-static real mode execution environment. On return from
298 trap. PIO access is handled by the in/out calls as defined in
300 PRINT_PORT in xf86int10.h. This is meant for debugging purposes.
309 Functions to dump memory, code, xf86 CPU register values and stack are
310 also provided. Take a look at helper.c To view a memory range the
317 Register and memory access functions are provided in helper_mem.c.
322 ways to access memory and xf86 CPU registers: Defines need to be
323 provided for memory byte/work/long read/write access
326 the real mode memory environment. 'name' will contain a pointer to the
328 vm86-mode under Linux and x86emu. They may be activated by defining
332 memory access functions. In this case a global variable should be
333 defined which can hold this pointer. This variable can be set in
334 MapCurrentInt10(). It also must be set in xf86InitInt10() if this
335 function calls the memory access functions either directly or by