Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 851 → Rev 852

/kernel/trunk/contrib/conf/bootindy
0,0 → 1,2
Without this the indy will not boot
echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
/kernel/trunk/generic/src/mm/frame.c
136,25 → 136,22
/* Try to merge */
if (zones.count+1 == ZONES_MAX)
panic("Maximum zone(%d) count exceeded.", ZONES_MAX);
 
for (i=0; i < zones.count; i++) {
/* Check for overflow */
z = zones.info[zones.count];
z = zones.info[i];
if (overlaps(newzone->base,newzone->count,
z->base, z->count)) {
printf("Zones overlap!\n");
return -1;
}
if (z->base < newzone->base)
if (newzone->base < z->base)
break;
}
/* Move other zones up */
for (j=i;j < zones.count;j++)
zones.info[j+1] = zones.info[j];
 
zones.info[i] = newzone;
zones.count++;
 
spinlock_unlock(&zones.lock);
interrupts_restore(ipl);
 
767,7 → 764,7
for (i = 0; i<count; i++) {
frame_initialize(&z->frames[i]);
}
 
/* Stuffing frames */
for (i = 0; i < count; i++) {
z->frames[i].refcount = 0;
843,7 → 840,6
for (i=confframe; i<confframe+confcount; i++) {
zone_mark_unavailable(z, i - z->base);
}
 
return znum;
}
 
971,7 → 967,7
int i;
zone_t *zone;
int prefzone = 0;
 
for (i=0; i < count; i++) {
zone = find_zone_and_lock(start+i,&prefzone);
if (!zone) /* PFN not found */
995,8 → 991,9
/* Tell the architecture to create some memory */
frame_arch_init();
if (config.cpu_active == 1) {
frame_mark_unavailable(ADDR2PFN(KA2PA(config.base)),
SIZE2FRAMES(config.kernel_size));
pfn_t firstframe = ADDR2PFN(KA2PA(config.base));
pfn_t lastframe = ADDR2PFN(KA2PA(config.base+config.kernel_size));
frame_mark_unavailable(firstframe,lastframe-firstframe+1);
if (config.init_size > 0)
frame_mark_unavailable(ADDR2PFN(KA2PA(config.init_addr)),
SIZE2FRAMES(config.init_size));
/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);
}