Cyber memos for my personal knowledge.

2009-05-27

Compiling SiS X driver on Ubuntu 9.04

I got new verison of SiS Linux X driver which fixed some bugs and the AUO panel issue.
And again, I have to verify it for our company's product on Ubuntu 9.04 first.
(Company decision........)

Xorg X server is v1.6.0 on Ubuntu 9.04.

Well, some packages I need to install to compile the SiS X driver source code:
1. xserver-xorg-dev;
2. x11proto-*-dev; (Lazy, so I install them all......)
3. libdrm-dev;
4. libgl1-mesa-dev;
5. build-essential; (This is ur call..)

And, of course, ./configure; make, then you can find the driver sis_drv.so under ./src/.libs/.
Nothing special.

Next I have to verify it on Mandriva 2009.1 also.

2009-05-20

Inside the Linux reboot.c of kernel 2.6.25

I got a bug report from one of my customer, they said system hang up after issuing reboot command if using T3400 CPU...= =|||

I can duplicate this issue and I think it is a BIOS bug on our product, because I saw this issue before BIOS POST.

After confirm with our BIOS team members and we use 80 port debug card to see what is going on. We know that BIOS team need to modify their watchdog to monitor this kind of problem......They need to know some information to catch for the system reboot. In Windows, they can monitor it because system will write 0xfe to 0x64. I believe that Linux will do something smiliar to this but I can not figure it out in kernel 2.6.24.7 source code under arch/x86/kernel/reboot_*.c...

Well, starting from Linux kernel 2.6.25, there is only ONE reboot.c under arch/x86/kernel, and they do change some points in the code.

In arch/x86/kernel/reboot.c and line 367 we can see the code:
outb(0xfe, 0x64); /* pulse reset low */

This function is defined in arch/x86/boot/boot.h.

囧rz..
This means that system will do basic port I/O to write to port 0x64 with value 0xfe when system is going to reboot. Bingo! So our BIOS team will be very happy with it........'cause they now can do something to their cute dog........

Another interesting point is that BIOS can detect memory address 0x472 to know this is a warm or cold reboot we want. If the reboot mode is 0x1234 that is a warm reboot. If reboot mode is 0 that is cold reboot...;-)

BTW, this is my desktop wallpaper recently...;-)
And I want to say that openSUSE rocks!!
Also the president Ma of TW rocks!!

This hot girl is named 王思平 and she is a famous model of TW!!
I personally love her bott....XD