Fuloong support.
* configure.ac: Rename yeeloong platform to loongson. All users updated. * grub-core/Makefile.core.def (fwstart_fuloong): New image. * grub-core/boot/mips/loongson/fuloong.S: New file. * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up. Explicitly init CS5536. [FULOONG]: Don't use serial until CS5536 is available. Set GPIO based on dumps. (serial_hw_init) [FULOONG]: Handle CS5536 parts. [FULOONG]: Handle GPIO and memory controller differences. Parse machine type in $a2. * grub-core/boot/mips/startup_raw.S: Determine and save the architecture. * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S. (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL init on architecture type. * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init SIS315E. Don't init at_keyboard on fuloong. (grub_halt): Support Fuloong. * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7. * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed. (loongson_machtypes): New array. (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine type. * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and config. All users updated. Handle CS5536 serial. * grub-core/term/serial.c (grub_serial_register): Conditionalise default port on machine type. Register serial as inactive. * grub-core/video/sis315pro.c: New file. * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New definition. (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise. (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise. (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise. (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise. (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise. * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename to ... (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this. * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New definition. (GRUB_ARCH_MACHINE_FULOONG): Likewise. (grub_arch_machine): New extern var. * include/grub/mips/loongson/serial.h (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ... (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this. (GRUB_MACHINE_SERIAL_PORT): Renamed to ... (GRUB_MACHINE_SERIAL_PORT0): ... this. (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition. (GRUB_MACHINE_SERIAL_PORT1): Likewise. (GRUB_MACHINE_SERIAL_PORT2): Likewise. (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2. * include/grub/term.h (grub_term_register_input_inactive): New inline function. (grub_term_register_output_inactive): Likewise. * include/grub/video.h (grub_video_driver_id): New value GRUB_VIDEO_DRIVER_SIS315PRO. * util/grub-mkimage.c (image_target_desc): Rename name to dirname. New field "names". All users updated. New field value IMAGE_FULOONG_FLASH. (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
This commit is contained in:
commit
5d063cdc10
37 changed files with 843 additions and 252 deletions
16
configure.ac
16
configure.ac
|
@ -96,7 +96,7 @@ if test "x$with_platform" = x; then
|
|||
powerpc-*) platform=ieee1275 ;;
|
||||
powerpc64-*) platform=ieee1275 ;;
|
||||
sparc64-*) platform=ieee1275 ;;
|
||||
mips-*) platform=yeeloong ;;
|
||||
mips-*) platform=loongson ;;
|
||||
*) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;;
|
||||
esac
|
||||
else
|
||||
|
@ -123,7 +123,9 @@ case "$target_cpu"-"$platform" in
|
|||
powerpc-ieee1275) ;;
|
||||
sparc64-ieee1275) ;;
|
||||
mips-qemu-mips) ;;
|
||||
mips-yeeloong) ;;
|
||||
mips-yeeloong) platform=loongson ;;
|
||||
mips-fuloong) platform=loongson ;;
|
||||
mips-loongson) ;;
|
||||
*-emu) ;;
|
||||
*) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;;
|
||||
esac
|
||||
|
@ -156,7 +158,7 @@ case "$platform" in
|
|||
qemu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_QEMU=1" ;;
|
||||
pc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_PCBIOS=1" ;;
|
||||
emu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_EMU=1" ;;
|
||||
yeeloong) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_YEELOONG=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
||||
loongson) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_LOONGSON=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
||||
qemu-mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_QEMU_MIPS=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
||||
esac
|
||||
case "$target_cpu" in
|
||||
|
@ -219,8 +221,8 @@ for ext in pcf pcf.gz bdf bdf.gz ttf ttf.gz; do
|
|||
done
|
||||
done
|
||||
|
||||
if test "x$FONT_SOURCE" = x && ( test "x$platform" = xqemu || test "x$platform" = xyeeloong ); then
|
||||
AC_MSG_ERROR([qemu and yeeloong ports need unifont])
|
||||
if test "x$FONT_SOURCE" = x && ( test "x$platform" = xqemu || test "x$platform" = xloongson ); then
|
||||
AC_MSG_ERROR([qemu and loongson ports need unifont])
|
||||
fi
|
||||
|
||||
AC_SUBST([FONT_SOURCE])
|
||||
|
@ -398,7 +400,7 @@ if test "x$grub_cv_cc_fno_dwarf2_cfi_asm" = xyes; then
|
|||
TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
|
||||
fi
|
||||
|
||||
if test "${target_cpu}-${platform}" = mips-yeeloong; then
|
||||
if test "${target_cpu}-${platform}" = mips-loongson; then
|
||||
AC_CACHE_CHECK([whether -march=loongson2f works], [grub_cv_cc_march_loongson2f], [
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -march=loongson2f"
|
||||
|
@ -950,7 +952,7 @@ AM_CONDITIONAL([COND_i386_ieee1275], [test x$target_cpu = xi386 -a x$platform =
|
|||
AM_CONDITIONAL([COND_i386_coreboot], [test x$target_cpu = xi386 -a x$platform = xcoreboot])
|
||||
AM_CONDITIONAL([COND_i386_multiboot], [test x$target_cpu = xi386 -a x$platform = xmultiboot])
|
||||
AM_CONDITIONAL([COND_x86_64_efi], [test x$target_cpu = xx86_64 -a x$platform = xefi])
|
||||
AM_CONDITIONAL([COND_mips_yeeloong], [test x$target_cpu = xmips -a x$platform = xyeeloong])
|
||||
AM_CONDITIONAL([COND_mips_loongson], [test x$target_cpu = xmips -a x$platform = xloongson])
|
||||
AM_CONDITIONAL([COND_mips_qemu_mips], [test x$target_cpu = xmips -a x$platform = xqemu_mips])
|
||||
AM_CONDITIONAL([COND_sparc64_ieee1275], [test x$target_cpu = xsparc64 -a x$platform = xieee1275])
|
||||
AM_CONDITIONAL([COND_powerpc_ieee1275], [test x$target_cpu = xpowerpc -a x$platform = xieee1275])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue