We have version 3.02 now : just a small fix for bootkernel name guessing.

This commit is contained in:
reinoud 2003-01-06 02:54:03 +00:00
parent 7ee41d4310
commit 340ca7145e
2 changed files with 22 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: boot32.c,v 1.6 2002/12/30 15:54:46 reinoud Exp $ */
/* $NetBSD: boot32.c,v 1.7 2003/01/06 02:54:03 reinoud Exp $ */
/*-
* Copyright (c) 2002 Reinoud Zandijk
@ -542,8 +542,9 @@ void add_initvectors(void) {
void create_configuration(int argc, char **argv, int start_args) {
int i, root_specified, id_low, id_high;
int i, root_specified, id_low, id_high;
char *pos;
bconfig_new_phys = kernel_free_vm_start - pv_offset;
bconfig_page = get_relocated_page(bconfig_new_phys, nbpp);
bconfig = (struct bootconfig *) (bconfig_page->logical);
@ -561,8 +562,21 @@ void create_configuration(int argc, char **argv, int start_args) {
bconfig->version = BOOTCONFIG_VERSION;
strcpy(bconfig->kernelname, booted_file);
/* get the kernel base name and update the RiscOS name to a Unix name */
i = strlen(bconfig->kernelname);
while ((i >= 0) && (bconfig->kernelname[i] != '.')) i--;
if (i) memcpy(bconfig->kernelname, bconfig->kernelname+i+1, strlen(booted_file)-i);
pos = bconfig->kernelname;
while (*pos) {
if (*pos == '/') *pos = '.';
pos++;
};
/* set the machine_id */
memcpy(&(bconfig->machine_id), &id_low, 4);
/* check if the `root' is specified */
root_specified = 0;
strcpy(bconfig->args, "");
for (i = start_args; i < argc; i++) {
@ -574,12 +588,14 @@ void create_configuration(int argc, char **argv, int start_args) {
strcat(bconfig->args, DEFAULT_ROOT);
};
/* mark kernel pointers */
bconfig->kernvirtualbase = marks[MARK_START];
bconfig->kernphysicalbase = kernel_physical_start;
bconfig->kernsize = kernel_free_vm_start - marks[MARK_START];
bconfig->ksym_start = marks[MARK_SYM];
bconfig->ksym_end = marks[MARK_SYM] + marks[MARK_NSYM];
/* setup display info */
bconfig->display_phys = videomem_start;
bconfig->display_start = videomem_start;
bconfig->display_size = display_size;
@ -588,6 +604,7 @@ void create_configuration(int argc, char **argv, int start_args) {
bconfig->log2_bpp = vdu_var(os_MODEVAR_LOG2_BPP);
bconfig->framerate = 56; /* XXX why? better guessing possible? XXX */
/* fill in memory info */
bconfig->pagesize = nbpp;
bconfig->drampages = total_dram_pages + total_podram_pages; /* XXX */
bconfig->vrampages = total_vram_pages;

View File

@ -1,4 +1,4 @@
$NetBSD: version,v 1.2 2003/01/02 01:05:35 reinoud Exp $
$NetBSD: version,v 1.3 2003/01/06 02:54:04 reinoud Exp $
0.90: Experimental C version
0.91: General cleanup
@ -16,3 +16,4 @@ $NetBSD: version,v 1.2 2003/01/02 01:05:35 reinoud Exp $
2.99: acorn32 version split off from acorn26 bootloader
3.00: acorn32 bootloader version 3 is alive
3.01: fixed serious non VRAM screen issues and made NC live again!
3.02: first small try for bootfile name fixing