From cba2cae2f5abbe76b6733389cb36cd37ce1f50cf Mon Sep 17 00:00:00 2001 From: phcoder Date: Sun, 18 Oct 2009 11:49:09 +0200 Subject: [PATCH] simplified serial --- include/grub/i386/coreboot/serial.h | 24 ++++++++++++++++++++++++ include/grub/i386/ieee1275/serial.h | 2 +- include/grub/mips/qemu-mipssim/serial.h | 24 ++++++++++++++++++++++++ include/grub/mips/qemu-r4k/serial.h | 24 ++++++++++++++++++++++++ term/serial.c | 10 ++-------- 5 files changed, 75 insertions(+), 9 deletions(-) create mode 100644 include/grub/i386/coreboot/serial.h create mode 100644 include/grub/mips/qemu-mipssim/serial.h create mode 100644 include/grub/mips/qemu-r4k/serial.h diff --git a/include/grub/i386/coreboot/serial.h b/include/grub/i386/coreboot/serial.h new file mode 100644 index 000000000..b6819d587 --- /dev/null +++ b/include/grub/i386/coreboot/serial.h @@ -0,0 +1,24 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_MACHINE_SERIAL_HEADER +#define GRUB_MACHINE_SERIAL_HEADER 1 + +#define GRUB_MACHINE_SERIAL_PORTS { 0x3f8, 0x2f8, 0x3e8, 0x2e8 } + +#endif diff --git a/include/grub/i386/ieee1275/serial.h b/include/grub/i386/ieee1275/serial.h index 2c527f626..2d8563414 100644 --- a/include/grub/i386/ieee1275/serial.h +++ b/include/grub/i386/ieee1275/serial.h @@ -1 +1 @@ -#include +#include diff --git a/include/grub/mips/qemu-mipssim/serial.h b/include/grub/mips/qemu-mipssim/serial.h new file mode 100644 index 000000000..55d64fec4 --- /dev/null +++ b/include/grub/mips/qemu-mipssim/serial.h @@ -0,0 +1,24 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_MACHINE_SERIAL_HEADER +#define GRUB_MACHINE_SERIAL_HEADER 1 + +#define GRUB_MACHINE_SERIAL_PORTS { 0x1fd003f8 } + +#endif diff --git a/include/grub/mips/qemu-r4k/serial.h b/include/grub/mips/qemu-r4k/serial.h new file mode 100644 index 000000000..1f8ce0804 --- /dev/null +++ b/include/grub/mips/qemu-r4k/serial.h @@ -0,0 +1,24 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_MACHINE_SERIAL_HEADER +#define GRUB_MACHINE_SERIAL_HEADER 1 + +#define GRUB_MACHINE_SERIAL_PORTS { 0x140003f8 } + +#endif diff --git a/term/serial.c b/term/serial.c index 30f8bb91a..648b5baf6 100644 --- a/term/serial.c +++ b/term/serial.c @@ -19,7 +19,6 @@ #include #include #include -//#include #include #include #include @@ -67,14 +66,9 @@ static struct serial_port serial_settings; #ifdef GRUB_MACHINE_PCBIOS static const unsigned short *serial_hw_io_addr = (const unsigned short *) GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR; #define GRUB_SERIAL_PORT_NUM 4 -#elif defined (GRUB_MACHINE_MIPS_QEMU_MIPSSIM) -static const grub_port_t serial_hw_io_addr[] = { 0x1fd003f8 }; -#define GRUB_SERIAL_PORT_NUM (ARRAY_SIZE(serial_hw_io_addr)) -#elif defined (GRUB_MACHINE_MIPS_QEMU_R4K) -static const grub_port_t serial_hw_io_addr[] = { 0x140003f8 }; -#define GRUB_SERIAL_PORT_NUM (ARRAY_SIZE(serial_hw_io_addr)) #else -static const grub_port_t serial_hw_io_addr[] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8 }; +#include +static const grub_port_t serial_hw_io_addr[] = GRUB_MACHINE_SERIAL_PORTS; #define GRUB_SERIAL_PORT_NUM (ARRAY_SIZE(serial_hw_io_addr)) #endif