wok rev 25613

Add grub-btrfs
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Aug 02 09:46:03 2023 +0000 (10 months ago)
parents f1ad7cb7989b
children fb496db11d55
files grub-btrfs/receipt memtest/stuff/unlzsa1.S memtest/stuff/unlzsa2.S memtest/stuff/unzx0.S memtest64/stuff/unlzsa1.S memtest64/stuff/unlzsa2.S memtest64/stuff/unzx0.S plop/stuff/unlzsa1.S plop/stuff/unlzsa2.S plop/stuff/unzx0.S
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/grub-btrfs/receipt	Wed Aug 02 09:46:03 2023 +0000
     1.3 @@ -0,0 +1,36 @@
     1.4 +# SliTaz package receipt.
     1.5 +
     1.6 +PACKAGE="grub-btrfs"
     1.7 +VERSION="4.13"
     1.8 +CATEGORY="system-tools"
     1.9 +SHORT_DESC="Include btrfs snapshots at boot options. (Grub menu)."
    1.10 +MAINTAINER="pascal.bellard@slitaz.org"
    1.11 +LICENSE="GPL3"
    1.12 +WEB_SITE="https://github.com/Antynea/grub-btrfs"
    1.13 +
    1.14 +TARBALL="$PACKAGE-$VERSION.tar.gz"
    1.15 +WGET_URL="$WEB_SITE/archive/refs/tags/$VERSION.tar.gz"
    1.16 +
    1.17 +DEPENDS="btrfs-progs grub2 bash gawk"
    1.18 +
    1.19 +# What is the latest version available today?
    1.20 +current_version()
    1.21 +{
    1.22 +	wget -O - ${WGET_URL%/arch*}/releases 2>/dev/null | \
    1.23 +	sed '/tag\//!d;s|.*tag/v*||;s|".*||;q'
    1.24 +}
    1.25 +
    1.26 +# Rules to configure and make the package.
    1.27 +compile_rules()
    1.28 +{
    1.29 +	make install
    1.30 +}
    1.31 +
    1.32 +# Rules to gen a SliTaz package suitable for Tazpkg.
    1.33 +genpkg_rules()
    1.34 +{
    1.35 +	mkdir -p $fs/usr
    1.36 +
    1.37 +	cp -a $install/etc	$fs/
    1.38 +	cp -a $install/usr/bin	$fs/usr
    1.39 +}
     2.1 --- a/memtest/stuff/unlzsa1.S	Tue Aug 01 19:11:36 2023 +0000
     2.2 +++ b/memtest/stuff/unlzsa1.S	Wed Aug 02 09:46:03 2023 +0000
     2.3 @@ -125,7 +125,13 @@
     2.4  	cmpw	%si, %di
     2.5  	jnc	lzsa1sameSeg
     2.6  	pushw	%si
     2.7 +# ifdef ONLY8086
     2.8 +	pushw	%cx
     2.9 +# endif
    2.10  	shrclw	$4, %si
    2.11 +# ifdef ONLY8086
    2.12 +	popw	%cx
    2.13 +# endif
    2.14  	lea	-4096(%bp,%si), %bp
    2.15  	popw	%si
    2.16  	andw	$0xF, %si
     3.1 --- a/memtest/stuff/unlzsa2.S	Tue Aug 01 19:11:36 2023 +0000
     3.2 +++ b/memtest/stuff/unlzsa2.S	Wed Aug 02 09:46:03 2023 +0000
     3.3 @@ -178,7 +178,13 @@
     3.4  	cmpw	%si, %di
     3.5  	jnc	lzsa2sameSeg
     3.6  	pushw	%si
     3.7 +# ifdef ONLY8086
     3.8 +	pushw	%cx
     3.9 +# endif
    3.10  	shrcl	$4, %si
    3.11 +# ifdef ONLY8086
    3.12 +	popw	%cx
    3.13 +# endif
    3.14  	lea	-4096(%bp,%si), %bp
    3.15  	popw	%si
    3.16  	andw	$0xF, %si
     4.1 --- a/memtest/stuff/unzx0.S	Tue Aug 01 19:11:36 2023 +0000
     4.2 +++ b/memtest/stuff/unzx0.S	Wed Aug 02 09:46:03 2023 +0000
     4.3 @@ -47,6 +47,15 @@
     4.4          sbb     BX, BX          // initialize rep-offset to 1
     4.5  
     4.6  .literals:
     4.7 +#if !defined(FLAT16) && !defined(FLAT32)
     4.8 +        cmpw    $32768, %si     // assume 32767 literals max
     4.9 +        jb      .si_ok
    4.10 +        subw    $32768, %si
    4.11 +        movw    %ds, %dx
    4.12 +        addb    $8, %dh
    4.13 +        movw    %dx, %ds
    4.14 +.si_ok:
    4.15 +#endif
    4.16          call    .get_elias      // read number of literals to copy
    4.17          rep     movsb           // copy literal bytes
    4.18  
    4.19 @@ -55,45 +64,22 @@
    4.20  
    4.21          call    .get_elias      // read rep-match length (starts at 1)
    4.22  
    4.23 -.macro norm	ds,si,reg,reg2
    4.24 -	movw	\si, \reg
    4.25 -	andw	$0xF, \si
    4.26 -# ifdef ONLY8086
    4.27 -	shrw	$1, \reg
    4.28 -	shrw	$1, \reg
    4.29 -	shrw	$1, \reg
    4.30 -	shrw	$1, \reg
    4.31 -# else
    4.32 -	shrw	$4, \reg
    4.33 -# endif
    4.34 -	addw	\reg, \reg2
    4.35 -	movw	\reg2, \ds
    4.36 -.endm 
    4.37 -
    4.38 +#if !defined(FLAT16OUT) && !defined(FLAT32)
    4.39 +        jmp     .copy_match
    4.40 +.fix_di:
    4.41 +        subw    $256, %di
    4.42 +        movw    %es, %dx
    4.43 +        addw    $16, %dx
    4.44 +        movw    %dx, %es
    4.45  .copy_match:
    4.46 -#if !defined(FLAT16) && !defined(FLAT32)
    4.47 -	movw	%ds, %dx
    4.48 -	norm	%ds, %si, %bp, %dx
    4.49 -#endif
    4.50 -#if !defined(FLAT16OUT) && !defined(FLAT32)
    4.51 -	movw	%es, %dx
    4.52 -	norm	%es, %di, %bp, %dx
    4.53 +        cmpw    $-32640, %di    // assume 32639 max window
    4.54 +        ja      .fix_di
    4.55 +#else
    4.56 +.copy_match:
    4.57  #endif
    4.58          push    SI              // save si (current pointer to compressed data)
    4.59          lea     (BX,DI), SI     // point to destination in es:di + offset in bx
    4.60 -#if !defined(FLAT16OUT) && !defined(FLAT32)
    4.61 -	pushw	%ds
    4.62 -	movw	%es, %dx
    4.63 -	cmpw	%si, %di
    4.64 -	ja	.sameseg
    4.65 -	subb	$0x10, %dh
    4.66 -.sameseg:
    4.67 -	norm	%ds, %si, %bp, %dx
    4.68 -	rep movsb               // copy matched bytes
    4.69 -	popw	%ds
    4.70 -#else
    4.71  	rep movsb %es:(SI), %es:(DI)  // copy matched bytes
    4.72 -#endif
    4.73          pop     SI              // restore si
    4.74  
    4.75          addb    %al, %al        // read 'literal or match' bit
     5.1 --- a/memtest64/stuff/unlzsa1.S	Tue Aug 01 19:11:36 2023 +0000
     5.2 +++ b/memtest64/stuff/unlzsa1.S	Wed Aug 02 09:46:03 2023 +0000
     5.3 @@ -125,7 +125,13 @@
     5.4  	cmpw	%si, %di
     5.5  	jnc	lzsa1sameSeg
     5.6  	pushw	%si
     5.7 +# ifdef ONLY8086
     5.8 +	pushw	%cx
     5.9 +# endif
    5.10  	shrclw	$4, %si
    5.11 +# ifdef ONLY8086
    5.12 +	popw	%cx
    5.13 +# endif
    5.14  	lea	-4096(%bp,%si), %bp
    5.15  	popw	%si
    5.16  	andw	$0xF, %si
     6.1 --- a/memtest64/stuff/unlzsa2.S	Tue Aug 01 19:11:36 2023 +0000
     6.2 +++ b/memtest64/stuff/unlzsa2.S	Wed Aug 02 09:46:03 2023 +0000
     6.3 @@ -178,7 +178,13 @@
     6.4  	cmpw	%si, %di
     6.5  	jnc	lzsa2sameSeg
     6.6  	pushw	%si
     6.7 +# ifdef ONLY8086
     6.8 +	pushw	%cx
     6.9 +# endif
    6.10  	shrcl	$4, %si
    6.11 +# ifdef ONLY8086
    6.12 +	popw	%cx
    6.13 +# endif
    6.14  	lea	-4096(%bp,%si), %bp
    6.15  	popw	%si
    6.16  	andw	$0xF, %si
     7.1 --- a/memtest64/stuff/unzx0.S	Tue Aug 01 19:11:36 2023 +0000
     7.2 +++ b/memtest64/stuff/unzx0.S	Wed Aug 02 09:46:03 2023 +0000
     7.3 @@ -47,6 +47,15 @@
     7.4          sbb     BX, BX          // initialize rep-offset to 1
     7.5  
     7.6  .literals:
     7.7 +#if !defined(FLAT16) && !defined(FLAT32)
     7.8 +        cmpw    $32768, %si     // assume 32767 literals max
     7.9 +        jb      .si_ok
    7.10 +        subw    $32768, %si
    7.11 +        movw    %ds, %dx
    7.12 +        addb    $8, %dh
    7.13 +        movw    %dx, %ds
    7.14 +.si_ok:
    7.15 +#endif
    7.16          call    .get_elias      // read number of literals to copy
    7.17          rep     movsb           // copy literal bytes
    7.18  
    7.19 @@ -55,45 +64,22 @@
    7.20  
    7.21          call    .get_elias      // read rep-match length (starts at 1)
    7.22  
    7.23 -.macro norm	ds,si,reg,reg2
    7.24 -	movw	\si, \reg
    7.25 -	andw	$0xF, \si
    7.26 -# ifdef ONLY8086
    7.27 -	shrw	$1, \reg
    7.28 -	shrw	$1, \reg
    7.29 -	shrw	$1, \reg
    7.30 -	shrw	$1, \reg
    7.31 -# else
    7.32 -	shrw	$4, \reg
    7.33 -# endif
    7.34 -	addw	\reg, \reg2
    7.35 -	movw	\reg2, \ds
    7.36 -.endm 
    7.37 -
    7.38 +#if !defined(FLAT16OUT) && !defined(FLAT32)
    7.39 +        jmp     .copy_match
    7.40 +.fix_di:
    7.41 +        subw    $256, %di
    7.42 +        movw    %es, %dx
    7.43 +        addw    $16, %dx
    7.44 +        movw    %dx, %es
    7.45  .copy_match:
    7.46 -#if !defined(FLAT16) && !defined(FLAT32)
    7.47 -	movw	%ds, %dx
    7.48 -	norm	%ds, %si, %bp, %dx
    7.49 -#endif
    7.50 -#if !defined(FLAT16OUT) && !defined(FLAT32)
    7.51 -	movw	%es, %dx
    7.52 -	norm	%es, %di, %bp, %dx
    7.53 +        cmpw    $-32640, %di    // assume 32639 max window
    7.54 +        ja      .fix_di
    7.55 +#else
    7.56 +.copy_match:
    7.57  #endif
    7.58          push    SI              // save si (current pointer to compressed data)
    7.59          lea     (BX,DI), SI     // point to destination in es:di + offset in bx
    7.60 -#if !defined(FLAT16OUT) && !defined(FLAT32)
    7.61 -	pushw	%ds
    7.62 -	movw	%es, %dx
    7.63 -	cmpw	%si, %di
    7.64 -	ja	.sameseg
    7.65 -	subb	$0x10, %dh
    7.66 -.sameseg:
    7.67 -	norm	%ds, %si, %bp, %dx
    7.68 -	rep movsb               // copy matched bytes
    7.69 -	popw	%ds
    7.70 -#else
    7.71  	rep movsb %es:(SI), %es:(DI)  // copy matched bytes
    7.72 -#endif
    7.73          pop     SI              // restore si
    7.74  
    7.75          addb    %al, %al        // read 'literal or match' bit
     8.1 --- a/plop/stuff/unlzsa1.S	Tue Aug 01 19:11:36 2023 +0000
     8.2 +++ b/plop/stuff/unlzsa1.S	Wed Aug 02 09:46:03 2023 +0000
     8.3 @@ -125,7 +125,13 @@
     8.4  	cmpw	%si, %di
     8.5  	jnc	lzsa1sameSeg
     8.6  	pushw	%si
     8.7 +# ifdef ONLY8086
     8.8 +	pushw	%cx
     8.9 +# endif
    8.10  	shrclw	$4, %si
    8.11 +# ifdef ONLY8086
    8.12 +	popw	%cx
    8.13 +# endif
    8.14  	lea	-4096(%bp,%si), %bp
    8.15  	popw	%si
    8.16  	andw	$0xF, %si
     9.1 --- a/plop/stuff/unlzsa2.S	Tue Aug 01 19:11:36 2023 +0000
     9.2 +++ b/plop/stuff/unlzsa2.S	Wed Aug 02 09:46:03 2023 +0000
     9.3 @@ -178,7 +178,13 @@
     9.4  	cmpw	%si, %di
     9.5  	jnc	lzsa2sameSeg
     9.6  	pushw	%si
     9.7 +# ifdef ONLY8086
     9.8 +	pushw	%cx
     9.9 +# endif
    9.10  	shrcl	$4, %si
    9.11 +# ifdef ONLY8086
    9.12 +	popw	%cx
    9.13 +# endif
    9.14  	lea	-4096(%bp,%si), %bp
    9.15  	popw	%si
    9.16  	andw	$0xF, %si
    10.1 --- a/plop/stuff/unzx0.S	Tue Aug 01 19:11:36 2023 +0000
    10.2 +++ b/plop/stuff/unzx0.S	Wed Aug 02 09:46:03 2023 +0000
    10.3 @@ -47,6 +47,15 @@
    10.4          sbb     BX, BX          // initialize rep-offset to 1
    10.5  
    10.6  .literals:
    10.7 +#if !defined(FLAT16) && !defined(FLAT32)
    10.8 +        cmpw    $32768, %si     // assume 32767 literals max
    10.9 +        jb      .si_ok
   10.10 +        subw    $32768, %si
   10.11 +        movw    %ds, %dx
   10.12 +        addb    $8, %dh
   10.13 +        movw    %dx, %ds
   10.14 +.si_ok:
   10.15 +#endif
   10.16          call    .get_elias      // read number of literals to copy
   10.17          rep     movsb           // copy literal bytes
   10.18  
   10.19 @@ -55,45 +64,22 @@
   10.20  
   10.21          call    .get_elias      // read rep-match length (starts at 1)
   10.22  
   10.23 -.macro norm	ds,si,reg,reg2
   10.24 -	movw	\si, \reg
   10.25 -	andw	$0xF, \si
   10.26 -# ifdef ONLY8086
   10.27 -	shrw	$1, \reg
   10.28 -	shrw	$1, \reg
   10.29 -	shrw	$1, \reg
   10.30 -	shrw	$1, \reg
   10.31 -# else
   10.32 -	shrw	$4, \reg
   10.33 -# endif
   10.34 -	addw	\reg, \reg2
   10.35 -	movw	\reg2, \ds
   10.36 -.endm 
   10.37 -
   10.38 +#if !defined(FLAT16OUT) && !defined(FLAT32)
   10.39 +        jmp     .copy_match
   10.40 +.fix_di:
   10.41 +        subw    $256, %di
   10.42 +        movw    %es, %dx
   10.43 +        addw    $16, %dx
   10.44 +        movw    %dx, %es
   10.45  .copy_match:
   10.46 -#if !defined(FLAT16) && !defined(FLAT32)
   10.47 -	movw	%ds, %dx
   10.48 -	norm	%ds, %si, %bp, %dx
   10.49 -#endif
   10.50 -#if !defined(FLAT16OUT) && !defined(FLAT32)
   10.51 -	movw	%es, %dx
   10.52 -	norm	%es, %di, %bp, %dx
   10.53 +        cmpw    $-32640, %di    // assume 32639 max window
   10.54 +        ja      .fix_di
   10.55 +#else
   10.56 +.copy_match:
   10.57  #endif
   10.58          push    SI              // save si (current pointer to compressed data)
   10.59          lea     (BX,DI), SI     // point to destination in es:di + offset in bx
   10.60 -#if !defined(FLAT16OUT) && !defined(FLAT32)
   10.61 -	pushw	%ds
   10.62 -	movw	%es, %dx
   10.63 -	cmpw	%si, %di
   10.64 -	ja	.sameseg
   10.65 -	subb	$0x10, %dh
   10.66 -.sameseg:
   10.67 -	norm	%ds, %si, %bp, %dx
   10.68 -	rep movsb               // copy matched bytes
   10.69 -	popw	%ds
   10.70 -#else
   10.71  	rep movsb %es:(SI), %es:(DI)  // copy matched bytes
   10.72 -#endif
   10.73          pop     SI              // restore si
   10.74  
   10.75          addb    %al, %al        // read 'literal or match' bit