wok-current rev 25488
memtest: typos
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Nov 15 16:33:54 2022 +0000 (2022-11-15) |
parents | ed5f25d05ff6 |
children | e1d0a02a021e |
files | memtest/receipt memtest/stuff/pack memtest/stuff/unpack.S |
line diff
1.1 --- a/memtest/receipt Tue Nov 15 16:20:54 2022 +0000 1.2 +++ b/memtest/receipt Tue Nov 15 16:33:54 2022 +0000 1.3 @@ -30,26 +30,26 @@ 1.4 { 1.5 file=$1 1.6 shift 1.7 - for i in lzma lz4 lzsa1 ; do 1.8 - cp $stuff/*.S $stuff/packx . 1.9 - sed "s/VERSION/$VERSION/;s|lzma1=|&nice=${1:-64},|" -i packx 1.10 + for i in lzma lz4 lzsa1 lzsa2 ; do 1.11 + cp $stuff/*.S $stuff/pack . 1.12 + sed "s/VERSION/$VERSION/;s|lzma1=|&nice=${1:-64},|" -i pack 1.13 while [ -n "$2" ]; do 1.14 sed "s|^#define PROP_$2 .*|#define PROP_$2 $3|" -i unlzma.S 1.15 shift 2 1.16 done 1.17 - sed -i "s|uncompress|un$i|" unpackx.S 1.18 + sed -i "s|uncompress|un$i|" unpack.S 1.19 asm bootloader 1.20 - asm unpackx 1.21 - cp packx packx.bak 1.22 - ./packx --build bootloader.bin unpackx.bin 1.23 - PACKER=$i ./packx $file $file.$i 1.24 + asm unpack 1.25 + cp pack pack.bak 1.26 + ./pack --build bootloader.bin unpack.bin 1.27 + PACKER=$i ./pack $file $file.$i 1.28 if [ $(stat -c %s $file.$i) -ge $((0x101F0)) ]; then 1.29 rm $file.$i 1.30 - cp packx.bak packx 1.31 - sed -e "s|^#define FLAT16.*// lzma case|#define FLAT16 0 // $i|" -i unpackx.S 1.32 - asm unpackx 1.33 - ./packx --build bootloader.bin unpackx.bin 1.34 - PACKER=$i ./packx $file $file.$i 1.35 + cp pack.bak pack 1.36 + sed -e "s|^#define FLAT16.*// lzma case|#define FLAT16 0 // $i|" -i unpack.S 1.37 + asm unpack 1.38 + ./pack --build bootloader.bin unpack.bin 1.39 + PACKER=$i ./pack $file $file.$i 1.40 fi 1.41 done 1.42 }
2.1 --- a/memtest/stuff/pack Tue Nov 15 16:20:54 2022 +0000 2.2 +++ b/memtest/stuff/pack Tue Nov 15 16:33:54 2022 +0000 2.3 @@ -45,7 +45,12 @@ 2.4 2.5 compress() 2.6 { 2.7 - xz -z -e --format=raw --lzma1=lc=$(bits LC),lp=$(bits LP),pb=$(bits PB) --stdout 2.8 + case "$PACKER" in 2.9 + lz4) lz4 -l --best ;; 2.10 + lzsa1) cat > /tmp/in$$ ; lzsa -f1 /tmp/in$$ /tmp/out$$ ; cat /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;; 2.11 + lzsa2) cat > /tmp/in$$ ; lzsa -f2 /tmp/in$$ /tmp/out$$ ; cat /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;; 2.12 + *) xz -z -e --format=raw --lzma1=lc=$(bits LC),lp=$(bits LP),pb=$(bits PB) --stdout 2.13 + esac 2.14 } 2.15 2.16 main()
3.1 --- a/memtest/stuff/unpack.S Tue Nov 15 16:20:54 2022 +0000 3.2 +++ b/memtest/stuff/unpack.S Tue Nov 15 16:33:54 2022 +0000 3.3 @@ -7,7 +7,7 @@ 3.4 #define UPDATE_SYSSIZE 1 3.5 #define HARDCODED_SYSSIZE 1 3.6 #define HARDCODED_SETUPSIZE 1 3.7 -#define FLAT16 1 3.8 +#define FLAT16 1 // lzma case 3.9 //#define FLAT16OUT 0 3.10 #define SAVEREGS 0 3.11 #define ELKS 0 3.12 @@ -52,7 +52,7 @@ 3.13 pushw %ds 3.14 cld 3.15 #else 3.16 - pushw %cs 3.17 + pushw %cs // return adress is %cs:0 3.18 # if FLAT16 3.19 xorw %di, %di 3.20 pushw %di 3.21 @@ -64,96 +64,89 @@ 3.22 movw $0x100, %ax 3.23 pushw %ax 3.24 #else 3.25 -#if UPDATE_SYSSIZE 3.26 +# if UPDATE_SYSSIZE 3.27 pushw %ds // <A> 3.28 -#else 3.29 +# else 3.30 pushw %cs // <A> 3.31 -#endif 3.32 +# endif 3.33 #endif 3.34 #if FLAT16 3.35 # 1- move 9020..9020+stp -> TOPSEG 3.36 -#if ELKS 3.37 +# if ELKS 3.38 movb $TOPSEG/256, %ah 3.39 movw %ax, %es 3.40 -#else 3.41 +# else 3.42 pushw $TOPSEG 3.43 - popw %es 3.44 -#endif 3.45 - movw $0x200, %si 3.46 -#if SAVEREGS == 0 3.47 + popw %es // %es:%di = TOPSEG:0 3.48 +# endif 3.49 + movw $0x200, %si // %ds:%si = 9000:0200 3.50 +# if SAVEREGS == 0 3.51 pushw %es 3.52 -#if ELKS 3.53 - movw $cont, %ax 3.54 - pushw %ax 3.55 -#else 3.56 - // pushw $cont 3.57 - .byte 0x6A, cont 3.58 -#endif 3.59 - jmp jumpinto 3.60 -#else 3.61 -# if HARDCODED_SETUPSIZE 3.62 + call jumpinto // move setup & jmp %es:cont 3.63 +# else 3.64 +# if HARDCODED_SETUPSIZE 3.65 setup_word: 3.66 movw $SETUP*256, %cx 3.67 -# else 3.68 +# else 3.69 xorw %cx, %cx 3.70 movb SETUPSIZE, %ch 3.71 movw %cx, %dx 3.72 -# endif 3.73 +# endif 3.74 pushw %cx // <B> 3.75 pushw %es 3.76 pushw %di 3.77 rep 3.78 movsw 3.79 lret 3.80 -#endif 3.81 +# endif 3.82 cont: 3.83 # 2- move 1000..1000+sys -> TOPSEG+stp 3.84 -#if ELKS 3.85 +# if ELKS 3.86 movw $0x1000, %ax 3.87 movw %ax, %ds 3.88 -#else 3.89 +# else 3.90 pushw $0x1000 3.91 popw %ds 3.92 -#endif 3.93 - xorw %si, %si 3.94 - subw %di, %cx 3.95 +# endif 3.96 + xorw %si, %si // %ds:%si = 1000:0 3.97 + subw %di, %cx // %cx = 64K - setupsz 3.98 rep 3.99 movsb 3.100 # 3- unlz(TOPSEG+stp:end, 1000-stp:0) 3.101 pushw %es // <C> 3.102 # if HARDCODED_SETUPSIZE 3.103 setup_seg: 3.104 -#if ELKS 3.105 -# if UPDATE_SYSSIZE 3.106 +# if ELKS 3.107 +# if UPDATE_SYSSIZE 3.108 movw $0x1000-(SETUP*32)-32, %ax 3.109 +# else 3.110 + movw $0x1000-(SETUP*32), %ax 3.111 +# endif 3.112 + movw %ax, %es 3.113 # else 3.114 - movw $0x1000-(SETUP*32), %ax 3.115 +# if UPDATE_SYSSIZE 3.116 + pushw $0x1000-(SETUP*32)-32 3.117 +# else 3.118 + pushw $0x1000-(SETUP*32) 3.119 +# endif 3.120 + popw %es 3.121 # endif 3.122 - movw %ax, %es 3.123 -#else 3.124 -# if UPDATE_SYSSIZE 3.125 - pushw $0x1000-(SETUP*32)-32 3.126 -# else 3.127 - pushw $0x1000-(SETUP*32) 3.128 -# endif 3.129 - popw %es 3.130 -#endif 3.131 # else 3.132 # if UPDATE_SYSSIZE 3.133 incb %dh 3.134 # endif 3.135 -#if ELKS 3.136 +# if ELKS 3.137 shrw $1, %dx 3.138 shrw $1, %dx 3.139 shrw $1, %dx 3.140 -#else 3.141 +# else 3.142 shrw $3, %dx 3.143 -#endif 3.144 +# endif 3.145 movw %ds, %ax 3.146 subw %dx, %ax 3.147 movw %ax, %es 3.148 -# endif 3.149 -#else // FLAT16 3.150 +# endif 3.151 +# else // FLAT16 3.152 # 1- move 1000..1000+sys -> 9000-sys 3.153 # if HARDCODED_SYSSIZE 3.154 packed_syssize: 3.155 @@ -185,27 +178,29 @@ 3.156 # else 3.157 movb %ss:SETUPSIZE, %ch 3.158 movw %cx, %ax 3.159 -#if ELKS 3.160 +# if ELKS 3.161 shrw $1, %ax 3.162 shrw $1, %ax 3.163 shrw $1, %ax 3.164 -#else 3.165 +# else 3.166 shrw $3, %ax 3.167 -#endif 3.168 +# endif 3.169 subw %ax, %dx 3.170 # endif 3.171 +# if SAVEREGS != 0 3.172 pushw %cx // <B> 3.173 +# endif 3.174 movw %dx, %es 3.175 - xorw %si, %si 3.176 - xorw %di, %di 3.177 + xorw %si, %si // %cs:%si = 9020:0 3.178 + xorw %di, %di // %es:%di = 9000-sys-stp:0 3.179 rep 3.180 movsw %cs:(%si),%es:(%di) 3.181 - pushw %es 3.182 + pushw %es // <C> 3.183 # 3- reloc itself in 0x7C00 3.184 pushw $0x07C0 3.185 popw %es 3.186 - movw $cont, %si 3.187 - movw %si, %di 3.188 + movw $cont, %si // %cs:%si = 9020:cont 3.189 + movw %si, %di // %es:%di = 7C0:cont 3.190 movw $end-_start, %cx 3.191 pushw %es 3.192 pushw %di 3.193 @@ -233,9 +228,9 @@ 3.194 # endif 3.195 #endif // FLAT16 3.196 popw %ds // <C> 3.197 - movw $end-_start, %si 3.198 + movw $end-_start, %si // %ds:%si = TOPSSEG:compressed / 9000-sys-stp:compressed 3.199 #if UPDATE_SYSSIZE 3.200 - movw $SYSSIZE, %di 3.201 + movw $SYSSIZE, %di // %es:%di = 1000-setup-bootsector:SYSSIZE 3.202 #else 3.203 xorw %di, %di 3.204 #endif 3.205 @@ -243,7 +238,7 @@ 3.206 pushw %es 3.207 call unpack 3.208 popw %ds 3.209 - popw %si 3.210 + popw %si // %ds:%si = 1000-setup-bootsector:SYSSIZE 3.211 movw %si, %di 3.212 # if SAVEREGS != 0 3.213 popw %cx // <B> 3.214 @@ -253,7 +248,7 @@ 3.215 popw %es // <A> 3.216 # 5- move 1000-stp..1000 -> 9020 3.217 # else 3.218 - popw %es // <A> 3.219 + popw %es // <A> %es:%di = 9000:SYSSIZE (the last 12 bytes are missing) 3.220 jumpinto: 3.221 # if HARDCODED_SETUPSIZE 3.222 setup_word: 3.223 @@ -279,6 +274,6 @@ 3.224 #if ELKS 3.225 #define ONLY8086 1 3.226 #endif 3.227 -#include "unlzma.S" 3.228 +#include "uncompress.S" 3.229 3.230 end: