Subversion Repositories HelenOS

Rev

Rev 4344 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4344 Rev 4345
Line 34... Line 34...
34
 
34
 
35
#ifndef KERN_ia64_ASM_H_
35
#ifndef KERN_ia64_ASM_H_
36
#define KERN_ia64_ASM_H_
36
#define KERN_ia64_ASM_H_
37
 
37
 
38
#include <config.h>
38
#include <config.h>
-
 
39
#include <typedefs.h>
39
#include <arch/types.h>
40
#include <arch/types.h>
40
#include <arch/register.h>
41
#include <arch/register.h>
41
 
42
 
42
#define IA64_IOSPACE_ADDRESS 0xE001000000000000ULL
43
#define IA64_IOSPACE_ADDRESS 0xE001000000000000ULL
43
 
44
 
Line 86... Line 87...
86
    uintptr_t prt = (uintptr_t) port;
87
    uintptr_t prt = (uintptr_t) port;
87
 
88
 
88
    asm volatile ("mf\n" ::: "memory");
89
    asm volatile ("mf\n" ::: "memory");
89
 
90
 
90
    return *((uint16_t *)(IA64_IOSPACE_ADDRESS +
91
    return *((uint16_t *)(IA64_IOSPACE_ADDRESS +
91
        ((prt & 0xffE) | ((prt >> 2) << 12))));
92
        ((prt & 0xfff) | ((prt >> 2) << 12))));
92
}
93
}
93
 
94
 
94
static inline uint32_t pio_read_32(ioport32_t *port)
95
static inline uint32_t pio_read_32(ioport32_t *port)
95
{
96
{
96
    uintptr_t prt = (uintptr_t) port;
97
    uintptr_t prt = (uintptr_t) port;