Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 323 → Rev 324

/SPARTAN/trunk/arch/mips/src/cpu/cpu.c
34,12 → 34,14
#include <arch/cp0.h>
 
#include <typedefs.h>
#include <print.h>
#include <print.h>
 
struct {
struct data_t {
char *vendor;
char *model;
} imp_data[] = {
};
 
static struct data_t imp_data[] = {
{ "Invalid", "Invalid" }, /* 0x00 */
{ "MIPS", "R2000" }, /* 0x01 */
{ "MIPS", "R3000" }, /* 0x02 */
78,6 → 80,13
{ "NKK", "R3000" } /* 0x23 */
};
 
static struct data_t imp_data80[] = {
{ "MIPS", "4Kc" }, /* 0x80 */
{"Invalid","Invalid"}, /* 0x81 */
{"Invalid","Invalid"}, /* 0x82 */
{"MIPS","4Km & 4Kp"} /* 0x83 */
};
 
void cpu_arch_init(void)
{
}
90,6 → 99,14
 
void cpu_print_report(cpu_t *m)
{
struct data_t *data;
 
if (m->arch.imp_num & 0x80) {
data = &imp_data80[m->arch.imp_num & 0x7f];
} else
data = &imp_data[m->arch.imp_num];
 
printf("cpu%d: %s %s (rev=%d.%d, imp=%d)\n",
m->id, imp_data[m->arch.imp_num].vendor, imp_data[m->arch.imp_num].model, m->arch.rev_num >> 4, m->arch.rev_num & 0xf, m->arch.imp_num);
m->id, data->vendor, data->model, m->arch.rev_num >> 4,
m->arch.rev_num & 0xf, m->arch.imp_num);
}