This commit is contained in:
John Reiser
2008-04-26 13:08:13 -07:00
31 changed files with 53 additions and 52 deletions
+1 -1
View File
@@ -225,7 +225,7 @@ unfold:
/* Get some pages. If small, then get 1 page located just after the end
of the first PT_LOAD of the compressed program. This will still be below
all of the uncompressed program. If large (>=3MB uncompressed), then enough
all of the uncompressed program. If large (>=3 MiB uncompressed), then enough
to duplicate the entire compressed PT_LOAD, plus 1 page, located just after
the brk() of the _un_compressed program. The address and length are pre-
calculated by PackLinuxElf64amd::defineSymbols().
+1 -1
View File
@@ -56,7 +56,7 @@ decompress_kernel: # (char *out, char *tmp, char *tmp_end, int arch_id)
// Value stored from r1 to memory will be overwritten by outsize.
stmdb r1!,{r0,r1,r2,r3,sp} // &indata, space, &outdata, arch_id, sp_in
loadcon8 3,METHOD // mov r3,#METHOD
mov sp,r1 // switch stacks to tmp_end area (64KB)
mov sp,r1 // switch stacks to tmp_end area (64 KiB)
ldr r1,1f // insize
str r3,[sp,#-4]! // method
ldr r3,2f // outsize
+1 -1
View File
@@ -99,7 +99,7 @@ section EXEENTRY
push ds
.byte 0xa9
do_copy:
mov ch, 0x80 /* 64 kbyte */
mov ch, 0x80 /* 64 KiB */
mov ax, cs
addaxds:
add ax, offset source_segment /* MSB is referenced by the "sub" below */
+1 -1
View File
@@ -38,7 +38,7 @@ PHDRS
}
SECTIONS
{
/* 0x00c01000: 12MB+4KB for Fedora Core 5 vDSO at 0xc00000 */
/* 0x00c01000: 12 MiB + 4 KiB for Fedora Core 5 vDSO at 0xc00000 */
. = 0x00c01000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
*(.text)
+1 -1
View File
@@ -162,7 +162,7 @@ setcursor:
mov al,15; call outb_p; inc edx
mov al,cl
// jmp outb_p
outb_p:
outb dx,al
call 0f; 0: // insure minimum delay between 'outb'
+1 -1
View File
@@ -371,7 +371,7 @@ umax(unsigned a, unsigned b)
// OpenBSD 3.9 wants all .text from all modules together, then (above that)
// all .data from all modules together, in order to maximize the effectiveness
// of lowering the segment limit on %cs as an implementation of "no-execute
// .data". Thus OpenBSD 3.9 puts a gap of 0x20000000 (512MB) between the
// .data". Thus OpenBSD 3.9 puts a gap of 0x20000000 (512 MiB) between the
// origins of .text and .data in each module. So, mapping ET_DYN must "level"
// the excursion in .text and .data of anything which preceeded it,
// then add the new PT_LOAD.
+1 -1
View File
@@ -281,7 +281,7 @@ unfold: // s7= &decompress; s6= &b_info(fold); s5= sz_pack2
/* Get some pages. If small, then get 1 page located just after the end
of the first PT_LOAD of the compressed program. This will still be below
all of the uncompressed program. If large (>=3MB uncompressed), then enough
all of the uncompressed program. If large (>=3 MiB uncompressed), then enough
to duplicate the entire compressed PT_LOAD, plus 1 page, located just after
the brk() of the _un_compressed program. The address and length are pre-
calculated by PackLinuxElf64amd::defineSymbols().
+1 -1
View File
@@ -71,7 +71,7 @@ L90:
lwz a1,-8(r31) # offset to {l_info; p_info; b_info}
subf a0,a1,r31 # &l_info
lwz a3,sz_unc+sz_p_info+sz_l_info(a0) # sz_mach_headers
cmpli 0,a3,2048; bgt L100; li a3,2048 # at least 2KB for /usr/lib/dyld
cmpli 0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld
L100:
movr r29,sp # remember for restoring later
subf sp,a3,sp # alloca