Subversion Repositories shark

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
/* Project:     OSLib
2
 * Description: The OS Construction Kit
3
 * Date:                1.6.2000
4
 * Idea by:             Luca Abeni & Gerardo Lamastra
5
 *
6
 * OSLib is an SO project aimed at developing a common, easy-to-use
7
 * low-level infrastructure for developing OS kernels and Embedded
8
 * Applications; it partially derives from the HARTIK project but it
9
 * currently is independently developed.
10
 *
11
 * OSLib is distributed under GPL License, and some of its code has
12
 * been derived from the Linux kernel source; also some important
13
 * ideas come from studying the DJGPP go32 extender.
14
 *
15
 * We acknowledge the Linux Community, Free Software Foundation,
16
 * D.J. Delorie and all the other developers who believe in the
17
 * freedom of software and ideas.
18
 *
19
 * For legalese, check out the included GPL license.
20
 */
21
 
22
#ifndef __LL_SYS_LL_LL_INSTR_H_
23
#define __LL_SYS_LL_LL_INSTR_H_
24
 
25
#include <ll/i386/defs.h>
26
BEGIN_DEF
27
 
28
#include <ll/i386/hw-instr.h>
29
#include <ll/i386/hw-func.h>
30
/*
31
    Well, these are simple macros... to map the HARTIK names
32
    onto the standard names!
33
 */
34
#define ll_in(port)     inp(port)
35
#define ll_out(port,v)  outp(port,v)
36
#define ll_inw(port)    inpw(port)
37
#define ll_outw(port,v) outpw(port,v)
38
#define ll_ind(port)    inpd(port)
39
#define ll_outd(port,v) outpd(port,v)
40
 
41
 
42
 
43
/* These functions are used to mask/unmask selectively interrupts    */
44
/* The irq services are also #defined to allow more generic inteface */
45
/* This is done into hw... files!                                    */
46
 
47
void ll_irq_mask(WORD irqno);
48
void ll_irq_unmask(WORD irqno);
49
 
50
/* These functions provide direct access to interrupt table     */
51
/* We can write the HARTIK interrupt table but only read        */
52
/* the host OS interrupt table!                                 */
53
void ll_irq_set(WORD irqno,INTERRUPT handler);
54
INTERRUPT ll_irq_get(WORD irqno);
55
 
56
END_DEF
57
#endif