Dear all, I have cleaned up the source code of loongson-based machines support and updated it to linux-2.6.29.3, the result is put to the following git repository: git://dev.lemote.com/rt4ls.git linux-2.6.29-stable-loongson-to-ralf this job is based on the to-mips branch of Yanhua's git://dev.lemote.com/linux_loongson.git and the lm2e-fixes branch of Philippe's git://git.linux-cisco.org/linux-mips.git. thanks goes to them. I have tested it with gcc 4.3 on fuloong(2e), fuloong(2f), yeeloong(2f), both 32bit and 64bit kernel works well, if you want to try it with gcc 4.4, please use the patch from attachment. * the current source code architecture $ tree arch/mips/loongson/ arch/mips/loongson/ |-- Kconfig |-- Makefile |-- common | |-- Makefile | |-- bonito-irq.c | |-- clock.c | |-- cmdline.c | |-- cs5536_vsm.c | |-- early_printk.c | |-- init.c | |-- irq.c | |-- mem.c | |-- mfgpt.c | |-- mipsdha.c | |-- misc.c | |-- pci.c | |-- reset.c | |-- rtc.c | |-- serial.c | |-- setup.c | `-- time.c |-- fuloong-2e | |-- Makefile | |-- irq.c | `-- reset.c |-- fuloong-2f | |-- Makefile | |-- irq.c | `-- reset.c `-- yeeloong-2f |-- Makefile |-- init.c |-- irq.c `-- reset.c 4 directories, 30 files $ tree arch/mips/include/asm/mach-loongson/ arch/mips/include/asm/mach-loongson/ |-- cpu-feature-overrides.h |-- cs5536 | |-- cs5536.h | |-- cs5536_pci.h | |-- mfgpt.h | `-- pcireg.h |-- dma-coherence.h |-- fuloong-2e | `-- machine.h |-- fuloong-2f | `-- machine.h |-- loongson.h |-- mc146818rtc.h |-- war.h `-- yeeloong-2f `-- machine.h 4 directories, 12 files $ ls arch/mips/pci/fixup-lemote2* arch/mips/pci/fixup-lemote2e.c arch/mips/pci/fixup-lemote2f.c $ ls arch/mips/pci/ops-loongson2.c arch/mips/pci/ops-loongson2.c * the main changes 1. make the source code of loongson support scalable, sharable a. rename some lemote* names to loongson* names to support non-lemote machines b. remove the reference to bonito64, add a new loongson.h header file c. split the source code to loongson-specific(common/) & board-specific parts(board-name/) d. divide the source code files to the smallest logic function unit e. replace tons of magic numbers to understandable macros d. initialize several base addresses to simplify MMIO operation f. fixup RTC support 2. add basic lemote fuloong(2f) mini notebook support a. add AMD cs5536 south bridge support b. add fuloong-specific reboot/halt operation c. add fuloong-specific irq operation d. add cs5536 mfgpt timer support e. add cpu frequency scaling support f. add MIPS STD support 3. add basic lemote yeeloong(2f) mini notebook support a. add yeeloong-specific reboot/halt operation b. add yeeloong-specific command line operation you can get the detail change logs from the git log. Welcome your comments and suggestions. highly hope some fuloong and yeeloong users help to test it, thanks! best regards! Wu Zhangjin
Attachment:
linux-loongson-gcc4.4.patch.tar.gz
Description: application/compressed-tar