LINUX.ORG.RU

История изменений

Исправление ncrmnt, (текущая версия) :

Ты просто не видел настоящего говнокода на шелле, который иногда приходится разбирать. И поверь мне, бывает код, который может поставить в ступор и без сложных конструкций. Вот наглядный пример из стоковой прошивки DNS-327L:

#!/bin/sh

echo "hardware init"

# enable usb power
mem_rw -w -t 1 -o 0x18100 -v 0x2010

#for SPI clock
mem_rw -w -t 1 -o 0x1100c -v 0xfb

#/* hardware request phy */
mem_rw -w -t 1 -o 0x184e0 -v 0xa8a

mem_rw -w -t 2 -o 22 -v 0x2
mem_rw -w -t 2 -o 25 -v 0x77
mem_rw -w -t 2 -o 24 -v 0x5747
mem_rw -w -t 2 -o 22 -v 0

# modify for hw sata eye
mem_rw -w -t 1 -o 0xA2834 -v 0xc92a
mem_rw -w -t 1 -o 0xA283c -v 0xaa2b

mem_rw -w -t 1 -o 0xA4834 -v 0xc92a
mem_rw -w -t 1 -o 0xA483c -v 0xaa2b

Исходная версия ncrmnt, :

Ты просто не видел настоящего говнокода на шелле, который иногда приходится разбирать. И поверь мне, бывает код, который может поставить в ступор и без сложных конструкций. Вот наглядный пример из стоковой прошивки DNS-327L:

#!/bin/sh

echo "hardware init"

# enable usb power
mem_rw -w -t 1 -o 0x18100 -v 0x2010

#for SPI clock
mem_rw -w -t 1 -o 0x1100c -v 0xfb

#/* hardware request phy */
mem_rw -w -t 1 -o 0x184e0 -v 0xa8a

mem_rw -w -t 2 -o 22 -v 0x2
mem_rw -w -t 2 -o 25 -v 0x77
mem_rw -w -t 2 -o 24 -v 0x5747
mem_rw -w -t 2 -o 22 -v 0

# modify for hw sata eye
mem_rw -w -t 1 -o 0xA2834 -v 0xc92a
mem_rw -w -t 1 -o 0xA283c -v 0xaa2b

mem_rw -w -t 1 -o 0xA4834 -v 0xc92a
mem_rw -w -t 1 -o 0xA483c -v 0xaa2b