/trunk/boot/arch/sparc64/loader/ofwarch.h |
---|
32,4 → 32,6 |
#define OFW_ADDRESS_CELLS 2 |
#define OFW_SIZE_CELLS 2 |
extern int bpp2align[]; |
#endif |
/trunk/boot/arch/sparc64/loader/main.c |
---|
31,6 → 31,7 |
#include "asm.h" |
#include "_components.h" |
#include <ofw.h> |
#include "ofwarch.h" |
#include <align.h> |
#define KERNEL_VIRTUAL_ADDRESS 0x400000 |
59,6 → 60,8 |
halt(); |
} |
bootinfo.screen.addr = ofw_translate(bootinfo.screen.addr); |
/* transform scanline to bytes with respect to potential alignment */ |
bootinfo.screen.scanline = bootinfo.screen.scanline*bpp2align[bootinfo.screen.bpp >> 3]; |
if (!ofw_keyboard(&bootinfo.keyboard)) |
printf("Error: unable to get keyboard properties\n"); |
/trunk/boot/arch/sparc64/loader/ofwarch.c |
---|
35,6 → 35,14 |
#include <ofw.h> |
#include <printf.h> |
int bpp2align[] = { |
[0] = 0, /** Invalid bpp. */ |
[1] = 1, /** 8bpp is not aligned. */ |
[2] = 2, /** 16bpp is naturally aligned. */ |
[3] = 4, /** 24bpp is aligned on 4 byte boundary. */ |
[4] = 4, /** 32bpp is naturally aligned. */ |
}; |
void write(const char *str, const int len) |
{ |
int i; |