Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 518 → Rev 519

/kernel/trunk/arch/ia64/include/ski/ski.h
29,10 → 29,15
#ifndef __SKI_H__
#define __SKI_H__
 
#include <arch/types.h>
 
 
#define SKI_INIT_CONSOLE 20
#define SKI_GETCHAR 21
#define SKI_PUTCHAR 31
 
extern void ski_init_console(void);
extern void ski_putchar(const char ch);
extern __s32 ski_getchar(void);
#endif
/kernel/trunk/arch/ia64/include/types.h
32,7 → 32,12
#define NULL 0
 
typedef signed char __s8;
typedef signed short int __s16;
typedef signed int __s32;
typedef signed long __s64;
 
 
 
typedef unsigned char __u8;
typedef unsigned short __u16;
typedef unsigned int __u32;
/kernel/trunk/arch/ia64/Makefile.inc
56,4 → 56,5
arch/$(ARCH)/src/interrupt.c \
arch/$(ARCH)/src/fmath.c \
arch/$(ARCH)/src/mm/frame.c \
arch/$(ARCH)/src/drivers/it.c
arch/$(ARCH)/src/drivers/it.c \
arch/$(ARCH)/src/drivers/keyboard.c
/kernel/trunk/arch/ia64/src/ia64.c
32,7 → 32,10
#include <arch/interrupt.h>
#include <arch/barrier.h>
#include <arch/types.h>
#include <arch/drivers/keyboard.h>
 
#include <console/console.h>
 
void arch_pre_mm_init(void)
{
/* Set Interruption Vector Address (i.e. location of interruption vector table). */
40,6 → 43,7
srlz_d();
ski_init_console();
keyboard_init();
it_init();
}
 
/kernel/trunk/arch/ia64/src/ski/ski.c
64,3 → 64,26
if (ch == '\n') ski_putchar('\r');
}
 
 
/** Display character on debug console
*
* Use SSC (Simulator System Call) to
* get character from debug console.
*/
__s32 ski_getchar(void)
{
__u64 ch;
__asm__ (
"mov r15=%0\n"
"break 0x80000;;\n" /* modifies r8 */
"mov %1=r8;;\n"
 
:
: "i" (SKI_GETCHAR), "r" (ch)
: "r15", "r8"
);
 
return (__s32)ch;
}
/kernel/trunk/arch/ia64/src/drivers/it.c
35,6 → 35,8
#include <arch/barrier.h>
#include <time/clock.h>
 
void keyboard(void);
 
/** Initialize Interval Timer. */
void it_init(void)
{
63,4 → 65,5
itm_write(itc_read() + IT_DELTA); /* program next interruption */
srlz_d(); /* propagate changes */
clock();
keyboard();
}