Changeset 94d614e in mainline for boot/arch/sparc64/loader/main.c


Ignore:
Timestamp:
2006-07-13T17:32:38Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a5f76758
Parents:
63cda71
Message:

Remove OpenFirmware calls from kernel/ entirely.

Switch the sparc64 port to use bootinfo.

Copy memcpy from boot/ to sparc64 kernel/ and
adjust it for memcpy_from/to_uspace.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/sparc64/loader/main.c

    r63cda71 r94d614e  
    8181        printf("\nCopying components\n");
    8282        unsigned int top = 0;
    83         bootinfo.cnt = 0;
     83        bootinfo.taskmap.count = 0;
    8484        for (i = 0; i < COMPONENTS; i++) {
     85                void * base = (void *) KERNEL_VIRTUAL_ADDRESS;
     86       
    8587                printf(" %s...", components[i].name);
    8688                top = ALIGN_UP(top, PAGE_SIZE);
    87                 memcpy(((void *) KERNEL_VIRTUAL_ADDRESS) + top, components[i].start, components[i].size);
     89                memcpy(base + top, components[i].start, components[i].size);
    8890                if (i > 0) {
    89                         bootinfo.tasks[bootinfo.cnt].addr = ((void *) KERNEL_VIRTUAL_ADDRESS) + top;
    90                         bootinfo.tasks[bootinfo.cnt].size = components[i].size;
    91                         bootinfo.cnt++;
     91                        bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr = base + top;
     92                        bootinfo.taskmap.tasks[bootinfo.taskmap.count].size = components[i].size;
     93                        bootinfo.taskmap.count++;
    9294                }
    9395                top += components[i].size;
Note: See TracChangeset for help on using the changeset viewer.