46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Test the nx-gzip function:
 | 
						|
=========================
 | 
						|
 | 
						|
Verify that following device exists:
 | 
						|
  /dev/crypto/nx-gzip
 | 
						|
If you get a permission error run as sudo or set the device permissions:
 | 
						|
   sudo chmod go+rw /dev/crypto/nx-gzip
 | 
						|
However, chmod may not survive across boots. You may create a udev file such
 | 
						|
as:
 | 
						|
   /etc/udev/rules.d/99-nx-gzip.rules
 | 
						|
 | 
						|
 | 
						|
To manually build and run:
 | 
						|
$ gcc -O3 -I./include -o gzfht_test gzfht_test.c gzip_vas.c
 | 
						|
$ gcc -O3 -I./include -o gunz_test gunz_test.c gzip_vas.c
 | 
						|
 | 
						|
 | 
						|
Compress any file using Fixed Huffman mode. Output will have a .nx.gz suffix:
 | 
						|
$ ./gzfht_test gzip_vas.c
 | 
						|
file gzip_vas.c read, 6413 bytes
 | 
						|
compressed 6413 to 3124 bytes total, crc32 checksum = abd15e8a
 | 
						|
 | 
						|
 | 
						|
Uncompress the previous output. Output will have a .nx.gunzip suffix:
 | 
						|
./gunz_test gzip_vas.c.nx.gz
 | 
						|
gzHeader FLG 0
 | 
						|
00 00 00 00 04 03
 | 
						|
gzHeader MTIME, XFL, OS ignored
 | 
						|
computed checksum abd15e8a isize 0000190d
 | 
						|
stored   checksum abd15e8a isize 0000190d
 | 
						|
decomp is complete: fclose
 | 
						|
 | 
						|
 | 
						|
Compare two files:
 | 
						|
$ sha1sum gzip_vas.c.nx.gz.nx.gunzip gzip_vas.c
 | 
						|
bf43e3c0c3651f5f22b6f9784cd9b1eeab4120b6  gzip_vas.c.nx.gz.nx.gunzip
 | 
						|
bf43e3c0c3651f5f22b6f9784cd9b1eeab4120b6  gzip_vas.c
 | 
						|
 | 
						|
 | 
						|
Note that the code here are intended for testing the nx-gzip hardware function.
 | 
						|
They are not intended for demonstrating performance or compression ratio.
 | 
						|
By being simplistic these selftests expect to allocate the entire set of source
 | 
						|
and target pages in the memory so it needs enough memory to work.
 | 
						|
For more information and source code consider using:
 | 
						|
https://github.com/libnxz/power-gzip
 |