mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
Properly pass argc, argc, and environp to boot_card.
This commit is contained in:
@@ -106,6 +106,10 @@ _start:
|
||||
stw r0,0(sp) /* clear back chain */
|
||||
stwu sp,-56(sp) /* push another stack frame */
|
||||
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
/* Let her rip */
|
||||
bl FUNC_NAME(boot_card)
|
||||
|
||||
@@ -114,3 +118,5 @@ _start:
|
||||
trap
|
||||
.Lstart:
|
||||
.size _start,.Lstart-_start
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -128,10 +128,10 @@ cpy_b: lwz r5, 0(r3) /* In with the old ... */
|
||||
addi r9, r9, 0x0007
|
||||
mtspr 0x9e, r9
|
||||
|
||||
/* clear argc and argv */
|
||||
xor r3, r3, r3
|
||||
xor r4, r4, r4
|
||||
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
.extern SYM (boot_card)
|
||||
bl SYM (boot_card) /* call the first C routine */
|
||||
loopstop:
|
||||
@@ -154,3 +154,5 @@ clear_bss:
|
||||
|
||||
bdnz clear_bss /* dec counter and loop */
|
||||
blr /* return */
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -116,6 +116,10 @@ stack_top:
|
||||
stw r3, 4(r1)
|
||||
stw r3, 8(r1)
|
||||
stw r3, 12(r1)
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
.extern SYM (boot_card)
|
||||
b SYM (boot_card) /* call the first C routine */
|
||||
|
||||
@@ -142,3 +146,5 @@ clear_bss:
|
||||
#if PPC_ABI == PPC_ABI_POWEROPEN
|
||||
DESCRIPTOR (startup)
|
||||
#endif
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -403,6 +403,10 @@ dcinvlp:
|
||||
stw r3, 4(r1)
|
||||
stw r3, 8(r1)
|
||||
stw r3, 12(r1)
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
.extern SYM (boot_card)
|
||||
b SYM (boot_card) /* call the first C routine */
|
||||
|
||||
@@ -466,4 +470,6 @@ ramaccfx:
|
||||
#endif
|
||||
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
|
||||
|
||||
@@ -270,6 +270,8 @@ spin:
|
||||
bl bssclr
|
||||
nop
|
||||
|
||||
lis 5,environ@ha
|
||||
la 5,environ@l(5) /* environp */
|
||||
/* clear argc and argv */
|
||||
xor r3, r3, r3
|
||||
xor r4, r4, r4
|
||||
@@ -381,3 +383,5 @@ initregs:
|
||||
blr /* return */
|
||||
|
||||
.L_text_e:
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -223,6 +223,10 @@ bss_addr:
|
||||
stw r3, 4(r1)
|
||||
stw r3, 8(r1)
|
||||
stw r3, 12(r1)
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
.extern SYM (boot_card)
|
||||
b SYM (boot_card) /* call the first C routine */
|
||||
|
||||
@@ -249,3 +253,5 @@ clear_bss:
|
||||
#if PPC_ABI == PPC_ABI_POWEROPEN
|
||||
DESCRIPTOR (startup)
|
||||
#endif
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -245,6 +245,10 @@ bss_addr:
|
||||
stw r3, 4(r1)
|
||||
stw r3, 8(r1)
|
||||
stw r3, 12(r1)
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
.extern SYM (boot_card)
|
||||
b SYM (boot_card) /* call the first C routine */
|
||||
|
||||
@@ -287,3 +291,5 @@ clear_bss:
|
||||
#if PPC_ABI == PPC_ABI_POWEROPEN
|
||||
DESCRIPTOR (startup)
|
||||
#endif
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -126,10 +126,10 @@ _start:
|
||||
stw r0,0(sp) /* clear back chain */
|
||||
stwu sp,-56(sp) /* push another stack frame */
|
||||
|
||||
li r3, 0 /* argc */
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r5, 0 /* environp */
|
||||
|
||||
li r3, 0 /* argc */
|
||||
/* Let her rip */
|
||||
bl FUNC_NAME(boot_card)
|
||||
|
||||
@@ -152,3 +152,5 @@ _start:
|
||||
blr
|
||||
.Lstart:
|
||||
.size _start,.Lstart-_start
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -96,6 +96,10 @@ _start:
|
||||
stw r0,0(sp) /* clear back chain */
|
||||
stwu sp,-56(sp) /* push another stack frame */
|
||||
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
/* Let her rip */
|
||||
bl FUNC_NAME(boot_card)
|
||||
|
||||
@@ -104,3 +108,6 @@ _start:
|
||||
trap
|
||||
.Lstart:
|
||||
.size _start,.Lstart-_start
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
|
||||
@@ -146,6 +146,10 @@ past_constants:
|
||||
stw r0,0(sp) /* clear back chain */
|
||||
stwu sp,-56(sp) /* push another stack frame */
|
||||
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
/* Let her rip */
|
||||
bl FUNC_NAME(boot_card)
|
||||
|
||||
@@ -154,3 +158,5 @@ past_constants:
|
||||
trap
|
||||
.Lstart:
|
||||
.size _start,.Lstart-_start
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
@@ -107,6 +107,10 @@ enter_C_code:
|
||||
/*
|
||||
* We are know in a environment that is totally independent from bootloader setup.
|
||||
*/
|
||||
lis r5,environ@ha
|
||||
la r5,environ@l(r5) /* environp */
|
||||
li r4, 0 /* argv */
|
||||
li r3, 0 /* argc */
|
||||
bl boot_card
|
||||
bl _return_to_ppcbug
|
||||
|
||||
@@ -194,3 +198,5 @@ flush_tlbs:
|
||||
sync
|
||||
blr
|
||||
|
||||
|
||||
.comm environ,4,4
|
||||
|
||||
Reference in New Issue
Block a user