CHOST: i586 vs. i486 on AMD Geode LX

On my blog post about Installing Gentoo on ALIX.3D3 Mart Raudsepp made an interesting comment: He pointed out, that on AMD Geode CPUs it might be better to use i486 CHOST instead of my used i586, because the CPU is more like a i486 as far as instruction scheduling and times go.

This sounded interesting, so I googled for some benchmark test to measure differences. I found nbench, which measures performance by executing some typical algorithms and compares them to a Pentium 90 based system. So I installed it and run on the i586 CHOST system, then rebuild it completely to i486 CHOST and run it again. Continue reading

GPIO on ALIX.3D3

The AMD CS5536 Geode companion on the ALIX.3D3 board has several general purpose input/output pins. Most of them have different functions as well, and there are some registers to set if they should be used as special function GPIO pins. The ALIX.3D3 uses 4 GPIO pins for 3 LEDs and 1 mode switch. Accessing the leds is very easy using the leds-alix2 driver, but they can be addressed as GPIO as well. There is already a driver for the GPIO pins in the kernel named cs5535_gpio.c, but it uses a non standard interface to communicate with kernel. So, I wrote a new kernel driver using the GPIO interface. Continue reading

Using Geode's AES engine on ALIX.3D3

The AMD Geode LX800 CPU has an on-chip AES 128-bit crypto accelerations block and a true random number generator. Using this block for encryption and decryption is a lot faster than software implemented algorithms and it unloads the CPU. There are two main purposes where en/decryption is needed:

  • Storing files
  • Communication over network (IPSEC, OpenVPN, WPA2, ...)

I'll focus on the first point in this article using LUKS (Linux Unified Key Setup).

Continue reading

Installing heat sink on ALIX.3D3

A few days ago, while I was compiling some stuff on my ALIX.3D3, I discovered a very high CPU temperature by chance:

M/B Temp:    +59 C  (low  =    +0 C, high =   +70 C)
CPU Temp:  +71.1 C  (low  =  +0.0 C, high = +70.0 C)   ALARM
Alix.3D3 with heat sink

Alix.3D3 with heat sink

I downloaded the datasheet of the AMD Geode LX800 CPU to check which temperatures are OK. On page 598 I found that my model (ALXD800EEXJ2VD) is fine for temperatures from 0 °C to 85 °C. Anyway I looked in my spare part box if I could find a suitable heat sink and fortunately I found a 40mm x 40mm x 9mm one. So I ordered some thermal adhesive and installed it.

Continue reading