/kernel/trunk/arch/mips32/include/mm/tlb.h |
---|
74,18 → 74,7 |
/** Page Table Entry. */ |
struct pte { |
#ifdef BIG_ENDIAN |
unsigned a : 1; /**< Accessed bit. */ |
unsigned w : 1; /**< Page writable bit. */ |
unsigned pfn : 24; /**< Physical frame number. */ |
unsigned soft_valid : 1; /**< Valid content even if not present. */ |
unsigned : 1; /**< Unused. */ |
unsigned cacheable : 1; /**< Cacheable bit. */ |
unsigned d : 1; /**< Dirty bit. */ |
unsigned p : 1; /**< Present bit. */ |
unsigned g : 1; /**< Global bit. */ |
#else |
unsigned g : 1; /**< Global bit. */ |
unsigned p : 1; /**< Present bit. */ |
unsigned d : 1; /**< Dirty bit. */ |
unsigned cacheable : 1; /**< Cacheable bit. */ |
94,7 → 83,6 |
unsigned pfn : 24; /**< Physical frame number. */ |
unsigned w : 1; /**< Page writable bit. */ |
unsigned a : 1; /**< Accessed bit. */ |
#endif |
}; |
union entry_hi { |
/kernel/trunk/arch/mips32/src/exception.c |
---|
74,8 → 74,8 |
if (s) |
rasymbol = s; |
printf("PC: %X(%s) RA: %X(%s)\n",pstate->epc,pcsymbol, |
pstate->ra,rasymbol); |
printf("PC: %X(%s) RA: %X(%s), SP(%P)\n",pstate->epc,pcsymbol, |
pstate->ra,rasymbol, pstate->sp); |
} |
static void unhandled_exception(int n, struct exception_regdump *pstate) |
/kernel/trunk/arch/mips32/src/console.c |
---|
39,9 → 39,10 |
arc_console(); |
} else if (serial_init()) { |
serial_console(); |
} else |
} else { |
msim_console(); |
#ifdef CONFIG_FB |
fb_init(0xb2000000, 640, 480, 3); // gxemul framebuffer |
fb_init(0xb2000000, 640, 480, 3); // gxemul framebuffer |
#endif |
} |
} |
/kernel/trunk/arch/mips32/src/drivers/arc.c |
---|
36,6 → 36,8 |
#include <interrupt.h> |
#include <align.h> |
#include <console/console.h> |
#include <console/kconsole.h> |
#include <console/cmd.h> |
/* This is a good joke, SGI HAS different types than NT bioses... */ |
/* Here is the SGI type */ |
152,8 → 154,9 |
desc = arc_entry->getmemorydescriptor(NULL); |
while (desc) { |
printf("%s: %d (size: %dKB)\n",basetypes[desc->type], |
printf("%s: %d(%P) (size: %dKB)\n",basetypes[desc->type], |
desc->basepage * ARC_FRAME, |
desc->basepage * ARC_FRAME, |
desc->basecount*ARC_FRAME/1024); |
desc = arc_entry->getmemorydescriptor(desc); |
} |
172,6 → 175,18 |
} |
static int cmd_reboot(cmd_arg_t *argv) |
{ |
arc_entry->reboot(); |
return 0; |
} |
static cmd_info_t reboot_info = { |
.name = "reboot", |
.description = "Reboot computer", |
.func = cmd_reboot, |
.argc = 0 |
}; |
/** Initialize ARC structure |
* |
* @return 0 - ARC OK, -1 - ARC does not exist |
189,6 → 204,10 |
arc_putchar('C'); |
arc_putchar('\n'); |
/* Add command for resetting the computer */ |
cmd_initialize(&reboot_info); |
cmd_register(&reboot_info); |
return 0; |
} |
304,9 → 323,8 |
total += basesize; |
zone_create(ADDR2PFN(base), |
SIZE2FRAMES(ALIGN_DOWN(basesize,FRAME_SIZE)), |
ADDR2PFN(base),0); |
zone_create(ADDR2PFN(base), SIZE2FRAMES(basesize), |
ADDR2PFN(base), 0); |
} |
desc = arc_entry->getmemorydescriptor(desc); |
} |