Changeset 1e48aca1 in mainline for boot/arch/arm32/loader/main.c
- Timestamp:
- 2009-05-28T09:34:27Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0c0b800
- Parents:
- 81b430a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/loader/main.c
r81b430a r1e48aca1 88 88 printf(" %L: boot info structure\n", &bootinfo); 89 89 90 unsigned int top = 0; 91 bootinfo.cnt = 0; 90 92 unsigned int i, j; 91 93 for (i = 0; i < COMPONENTS; i++) { 92 94 printf(" %L: %s image (size %d bytes)\n", 93 components[i].start, components[i].name, components[i].size); 94 } 95 96 printf("\nCopying components\n"); 97 98 unsigned int top = 0; 99 bootinfo.cnt = 0; 100 for (i = 0; i < COMPONENTS; i++) { 101 printf(" %s...", components[i].name); 95 components[i].start, components[i].name, components[i].size); 102 96 top = ALIGN_UP(top, KERNEL_PAGE_SIZE); 103 memcpy(((void *) KERNEL_VIRTUAL_ADDRESS) + top, components[i].start, components[i].size);104 97 if (i > 0) { 105 98 bootinfo.tasks[bootinfo.cnt].addr = ((void *) KERNEL_VIRTUAL_ADDRESS) + top; … … 110 103 } 111 104 top += components[i].size; 105 } 106 j = bootinfo.cnt - 1; 107 108 printf("\nCopying components\n"); 109 110 for (i = COMPONENTS - 1; i > 0; i--, j--) { 111 printf(" %s...", components[i].name); 112 memcpy((void *)bootinfo.tasks[j].addr, components[i].start, 113 components[i].size); 112 114 printf("done.\n"); 113 115 } 114 116 117 printf("\nCopying kernel..."); 118 memcpy((void *)KERNEL_VIRTUAL_ADDRESS, components[0].start, 119 components[0].size); 120 printf("done.\n"); 121 115 122 printf("\nBooting the kernel...\n"); 116 123 jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS, &bootinfo);
Note:
See TracChangeset
for help on using the changeset viewer.