/SPARTAN/trunk/arch/ia64/src/putchar.c |
---|
28,7 → 28,18 |
#include <putchar.h> |
#include <arch/types.h> |
#include <arch/ski/ski.h> |
void putchar(char ch) |
{ |
__asm__ ( |
"mov r15=%0\n" |
"mov r32=%1\n" /* r32 is in0 */ |
"break 0x80000\n" /* modifies r8 */ |
: |
: "i" (SKI_CONSOLE_PUTC), "r" (ch) |
: "r15", "in0", "r8" |
); |
if (ch == '\n') putchar('\r'); |
} |
/SPARTAN/trunk/arch/ia64/src/start.S |
---|
32,17 → 32,17 |
.global kernel_image_start |
stack0: |
kernel_image_start: |
# initialize gp (Global Pointer) register |
mov r1=0x1000 |
mov r1=kernel_image_start; |
# initialize Ski console using SSC (Simulator System Sall) |
# set stack pointer to some sane value |
mov r12=stack0 |
# initialize Ski console using SSC (Simulator System Call) |
mov r15=SKI_CONSOLE_INIT |
break 0x80000 |
0: |
mov r15=SKI_CONSOLE_PUTC |
mov r32='.' |
break 0x80000 |
br 0b |
br 0b |