История изменений
Исправление 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