Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1836 → Rev 1837

/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,10 → 60,12
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");
 
printf("\nDevice statistics\n");
printf(" memory: %dM\n", bootinfo.memmap.total>>20);
printf(" screen at %P, resolution %dx%d, %d bpp (scanline %d bytes)\n", (uintptr_t) bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline);
/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;