Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2397 → Rev 2398

/branches/fs/kernel/generic/src/lib/rd.c
43,6 → 43,7
#include <sysinfo/sysinfo.h>
#include <ddi/ddi.h>
#include <print.h>
#include <align.h>
 
static parea_t rd_parea; /**< Physical memory area for rd. */
 
84,7 → 85,8
printf("Size %d\n",size);
//jelen: does this make any sense? (we don't even care about the header size, do we?)
/*if ((hsize % FRAME_SIZE) || (dsize % FRAME_SIZE))
/*
if ((hsize % FRAME_SIZE) || (dsize % FRAME_SIZE))
return RE_UNSUPPORTED;
*/
if (dsize % FRAME_SIZE)
96,13 → 98,16
if ((uint64_t) hsize + dsize > size)
dsize = size - hsize;
rd_parea.pbase = KA2PA((void *) header + hsize);
rd_parea.pbase = ALIGN_DOWN((uintptr_t)KA2PA((void *) header + hsize), FRAME_SIZE);
rd_parea.vbase = (uintptr_t) ((void *) header + hsize);
rd_parea.frames = SIZE2FRAMES(dsize);
rd_parea.cacheable = true;
ddi_parea_register(&rd_parea);
 
 
sysinfo_set_item_val("rd", NULL, true);
sysinfo_set_item_val("rd.header_size", NULL, hsize);
sysinfo_set_item_val("rd.size", NULL, dsize);
sysinfo_set_item_val("rd.address.physical", NULL, (unative_t)
KA2PA((void *) header + hsize));