Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 572 → Rev 573

/kernel/trunk/arch/mips32/src/drivers/arc.c
31,6 → 31,8
#include <print.h>
#include <arch.h>
#include <arch/byteorder.h>
#include <arch/mm/frame.h>
#include <mm/frame.h>
 
/* This is a good joke, SGI HAS different types than NT bioses... */
/* Here is the SGI type */
101,7 → 103,7
*
* @return 0 - ARC OK, -1 - ARC does not exist
*/
int init_arc(void)
int arc_init(void)
{
if (sbp->signature != ARC_MAGIC) {
sbp = NULL;
165,8 → 167,8
desc = arc_entry->getmemorydescriptor(NULL);
while (desc) {
printf("%s: %d (size: %dKB)\n",basetypes[desc->type],
desc->basepage * 4096,
desc->basecount*4);
desc->basepage * ARC_FRAME,
desc->basecount*ARC_FRAME/1024);
desc = arc_entry->getmemorydescriptor(desc);
}
}
202,3 → 204,27
return '\n';
return ch;
}
 
/* Initialize frame zones from ARC firmware.
* In the future we may use even the FirmwareTemporary regions,
* currently we use the FreeMemory (what about the LoadedProgram?)
*/
void arc_frame_init(void)
{
arc_memdescriptor_t *desc;
int total = 0;
 
desc = arc_entry->getmemorydescriptor(NULL);
while (desc) {
if (desc->type == FreeMemory ||
desc->type == FreeContiguous) {
total += desc->basecount*ARC_FRAME;
zone_create_in_region(desc->basepage*ARC_FRAME,
desc->basecount*ARC_FRAME);
}
desc = arc_entry->getmemorydescriptor(desc);
}
 
config.memory_size = total;
}