Skip to content

Instantly share code, notes, and snippets.

@ssvb
ssvb / gist:84bf3b34d0906fbd43b3261837546f24
Created June 11, 2016 18:42
Allwinner A64 BROM, initialization of the boot media identifier
-----------------------------------------------------------------------
49f0: e3a00001 mov r0, #1
49f4: e5cb0028 strb r0, [fp, #40] ; 0x28
-----------------------------------------------------------------------
4e5c: e3a00801 mov r0, #65536 ; 0x10000
4e60: e58d0000 str r0, [sp]
[...]
From 44eac78981c07cf2f73a338d3e34eed685f6309d Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <[email protected]>
Date: Mon, 25 Jul 2016 17:42:19 +0300
Subject: [PATCH] OpenRISC support for GCC 5.3.0
This is the difference between dfad8a2635433704c74c70db28c3559867c2e362
from https://github.com/openrisc/or1k-gcc.git and vanilla GCC 5.3.0
---
ChangeLog.or1k | 8 +
config/picflag.m4 | 3 +
From aaa3428877546e7dff686e4e526f886becc59323 Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <[email protected]>
Date: Mon, 25 Jul 2016 19:43:58 +0300
Subject: [PATCH] musl nothreshold malloc
---
src/malloc/malloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/malloc/malloc.c b/src/malloc/malloc.c
@ssvb
ssvb / gist:38bec10f9b49806bf4fb7881dfc5241a
Created July 29, 2016 14:34
Revert 1a83fb4 commit in U-Boot v2016.09-rc1 for Pine64
$ diff --unified=20 u-boot.orig-v2016.09-rc1.disasm u-boot.revert-1a83fb4.disasm
--- u-boot.orig-v2016.09-rc1.disasm 2016-07-29 17:28:31.000000000 +0300
+++ u-boot.revert-1a83fb4.disasm 2016-07-29 17:28:41.000000000 +0300
@@ -1,22 +1,22 @@
-u-boot.orig: file format elf64-littleaarch64
+u-boot: file format elf64-littleaarch64
Disassembly of section .text:
@ssvb
ssvb / gist:8cfc073e4f61bb52be3ab06ac025de80
Created November 28, 2016 12:37
Running 'busybox free' in adb shell on Allwinner A13 tablet with 512MB RAM
root@android:/ # busybox free
total used free shared buffers
Mem: 362016 280000 82016 0 4656
-/+ buffers: 275344 86672
Swap: 0 0 0
Allwinner H64, TOC0 style boot, FEL button pressed
01400000: 00010003
01400004: 00020003
01400008: 00030003
0140000c: 00040003
01400010: 00110003
01400014: 00120003
01400018: 00130003
0140001c: 00140003
@ssvb
ssvb / gist:6f57b3654fc224a895d96e730196b47b
Created February 16, 2020 12:22
libjpeg-turbo floating point MIPS functions
$ cat test.c
typedef short JCOEF;
typedef unsigned char JSAMPLE;
typedef unsigned int JDIMENSION;
typedef JCOEF *JCOEFPTR; /* useful in a couple of places */
#define GETJSAMPLE(value) ((int)(value))
#define CENTERJSAMPLE 128
#define FAST_FLOAT float
Testing libjpeg-turbo master 70327296e21343ed991a291601f9621edeb37003 on a softfloat little endian MIPS74K hardware:
<< MIPSELo32 >> OpenWrt ~ # cd libjpeg-turbo/
<< MIPSELo32 >> OpenWrt ~/libjpeg-turbo # mkdir build
<< MIPSELo32 >> OpenWrt ~/libjpeg-turbo # cd build/
<< MIPSELo32 >> OpenWrt ~/libjpeg-turbo/build # cmake ..
-- The C compiler identification is GNU 7.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
<< MIPSELo32 >> OpenWrt ~/libjpeg-turbo/build # JSIMD_FORCENONE=1 ./tjbench-static test-image.ppm 95
>>>>> BGR (Top-down) <--> JPEG GRAY Q95 <<<<<
Image size: 2592 x 1944
Compress --> Frame rate: 0.448023 fps
Output image size: 1225591 bytes
Compression ratio: 12.334085:1
Throughput: 2.257520 Megapixels/sec
Output bit stream: 4.392744 Megabits/sec

Little endian MIPS74K @480MHz without FPU, GCC 7.2.0

Without DSP r2:

# JSIMD_FORCENONE=1 ./tjbench-static test-image.ppm 75 -fastdct

Using fastest DCT/IDCT algorithm

>>>>>  BGR (Top-down) <--> JPEG GRAY Q75  <<<<<