Rev 1160 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1160 | Rev 1398 | ||
---|---|---|---|
Line 32... | Line 32... | ||
32 | .section K_TEXT_START, "ax" |
32 | .section K_TEXT_START, "ax" |
33 | 33 | ||
34 | .global kernel_image_start |
34 | .global kernel_image_start |
35 | kernel_image_start: |
35 | kernel_image_start: |
36 | 36 | ||
37 | # load temporary stack |
37 | # load temporal kernel stack |
38 | 38 | ||
39 | lis sp, end_stack@ha |
39 | lis sp, kernel_stack@ha |
40 | addi sp, sp, end_stack@l |
40 | addi sp, sp, kernel_stack@l |
- | 41 | ||
- | 42 | # set kernel stack for interrupt handling |
|
- | 43 | ||
- | 44 | mr r31, sp |
|
- | 45 | subis r31, r31, 0x8000 |
|
- | 46 | mtsprg0 r31 |
|
41 | 47 | ||
42 | # r3 contains physical address of bootinfo_t |
48 | # r3 contains physical address of bootinfo_t |
43 | # r4 contains size of bootinfo_t |
49 | # r4 contains size of bootinfo_t |
44 | 50 | ||
45 | lis r31, 0x80000000@ha |
- | |
46 | addi r31, r31, 0x80000000@l |
51 | addis r3, r3, 0x8000 |
47 | - | ||
48 | add r3, r3, r31 |
- | |
49 | 52 | ||
50 | lis r31, bootinfo@ha |
53 | lis r31, bootinfo@ha |
51 | addi r31, r31, bootinfo@l # r31 = bootinfo |
54 | addi r31, r31, bootinfo@l # r31 = bootinfo |
52 | 55 | ||
53 | cmpwi r4, 0 |
56 | cmpwi r4, 0 |
Line 65... | Line 68... | ||
65 | cmpwi r4, 0 |
68 | cmpwi r4, 0 |
66 | bgt bootinfo_loop |
69 | bgt bootinfo_loop |
67 | 70 | ||
68 | bootinfo_end: |
71 | bootinfo_end: |
69 | 72 | ||
- | 73 | bl arch_pre_main |
|
70 | b main_bsp |
74 | b main_bsp |
71 | 75 | ||
72 | .section K_DATA_START, "aw", @progbits |
76 | .section K_DATA_START, "aw", @progbits |
73 | 77 | ||
- | 78 | .align 12 |
|
- | 79 | kernel_stack_bottom: |
|
74 | .space TEMP_STACK_SIZE |
80 | .space TEMP_STACK_SIZE |
75 | end_stack: |
81 | kernel_stack: |