summaryrefslogtreecommitdiffstats
path: root/ddcprobe/bioscall.h
blob: 0851d08825b5f4249557236b2fa05af8ec2245b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef bioscall_h
#define bioscall_h

/* Print some of the interesting parts of a vm86_regs structure. */
void dump_regs(struct vm86_regs *regs);

/* Call vm86 using the given memory block, stopping if we break at a
   given address. */
void do_vm86(struct vm86_struct *vm, char *memory, unsigned stop_eip);

/* Memory-map a megabyte at address 0, and copy the kernel's low megabyte
   into the memory block, returning the result. */
unsigned char *vm86_ram_alloc();
void vm86_ram_free(unsigned char *ram);

/* Handle everything, using the memory mapped at address 0.  The code that makes
   the actual code to the bios is stored at segment BIOSCALL_START_SEG, offset
   BIOSCALL_START_OFS, so expect that area to be destroyed if you use it. */
#define BIOSCALL_START_SEG 0x8000
#define BIOSCALL_START_OFS 0x0000
void bioscall(unsigned char int_no, struct vm86_regs *regs, unsigned char *mem);

#endif /* bioscall_h */