Переглянути джерело

[build] Generalise CONSOLE_VESAFB to CONSOLE_FRAMEBUFFER

The name "vesafb" is intrinsically specific to a BIOS environment.
Generalise the build configuration option CONSOLE_VESAFB to
CONSOLE_FRAMEBUFFER, in preparation for adding EFI framebuffer
support.

Existing configurations using CONSOLE_VESAFB will continue to work.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 9 роки тому
джерело
коміт
4b7443d132

+ 1
- 1
src/Makefile.housekeeping Переглянути файл

@@ -1005,7 +1005,7 @@ TGT_LD_ENTRY	= _$(TGT_PREFIX)_start
1005 1005
 #		  --defsym pci_vendor=0x1186 --defsym pci_device=0x1300")
1006 1006
 #
1007 1007
 TGT_LD_FLAGS	= $(foreach SYM,$(TGT_LD_ENTRY) $(TGT_LD_DRIVERS) \
1008
-		    $(TGT_LD_DEVLIST) obj_config,\
1008
+		    $(TGT_LD_DEVLIST) obj_config obj_config_$(PLATFORM),\
1009 1009
 		    -u $(SYM) --defsym check_$(SYM)=$(SYM) ) \
1010 1010
 		  $(patsubst %,--defsym %,$(TGT_LD_IDS)) \
1011 1011
 		  -e $(TGT_LD_ENTRY)

+ 7
- 1
src/arch/i386/interface/pcbios/vesafb.c Переглянути файл

@@ -60,7 +60,13 @@ struct console_driver bios_console __attribute__ (( weak ));
60 60
 #define EIO_VBE( code )							\
61 61
 	EUNIQ ( EINFO_EIO, (code), EIO_FAILED, EIO_HARDWARE, EIO_MODE )
62 62
 
63
-/* Set default console usage if applicable */
63
+/* Set default console usage if applicable
64
+ *
65
+ * We accept either CONSOLE_FRAMEBUFFER or CONSOLE_VESAFB.
66
+ */
67
+#if ( defined ( CONSOLE_FRAMEBUFFER ) && ! defined ( CONSOLE_VESAFB ) )
68
+#define CONSOLE_VESAFB CONSOLE_FRAMEBUFFER
69
+#endif
64 70
 #if ! ( defined ( CONSOLE_VESAFB ) && CONSOLE_EXPLICIT ( CONSOLE_VESAFB ) )
65 71
 #undef CONSOLE_VESAFB
66 72
 #define CONSOLE_VESAFB ( CONSOLE_USAGE_ALL & ~CONSOLE_USAGE_LOG )

+ 0
- 9
src/config/config.c Переглянути файл

@@ -51,9 +51,6 @@ PROVIDE_REQUIRING_SYMBOL();
51 51
  *
52 52
  */
53 53
 
54
-#ifdef CONSOLE_PCBIOS
55
-REQUIRE_OBJECT ( bios_console );
56
-#endif
57 54
 #ifdef CONSOLE_SERIAL
58 55
 REQUIRE_OBJECT ( serial );
59 56
 #endif
@@ -81,12 +78,6 @@ REQUIRE_OBJECT ( vmconsole );
81 78
 #ifdef CONSOLE_DEBUGCON
82 79
 REQUIRE_OBJECT ( debugcon );
83 80
 #endif
84
-#ifdef CONSOLE_VESAFB
85
-REQUIRE_OBJECT ( vesafb );
86
-#endif
87
-#ifdef CONSOLE_INT13
88
-REQUIRE_OBJECT ( int13con );
89
-#endif
90 81
 
91 82
 /*
92 83
  * Drag in all requested network protocols

+ 41
- 0
src/config/config_efi.c Переглянути файл

@@ -0,0 +1,41 @@
1
+/*
2
+ * This program is free software; you can redistribute it and/or
3
+ * modify it under the terms of the GNU General Public License as
4
+ * published by the Free Software Foundation; either version 2 of the
5
+ * License, or (at your option) any later version.
6
+ *
7
+ * This program is distributed in the hope that it will be useful, but
8
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
10
+ * General Public License for more details.
11
+ *
12
+ * You should have received a copy of the GNU General Public License
13
+ * along with this program; if not, write to the Free Software
14
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15
+ * 02110-1301, USA.
16
+ *
17
+ * You can also choose to distribute this program under the terms of
18
+ * the Unmodified Binary Distribution Licence (as given in the file
19
+ * COPYING.UBDL), provided that you have satisfied its requirements.
20
+ */
21
+
22
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
23
+
24
+#include <config/console.h>
25
+
26
+/** @file
27
+ *
28
+ * EFI-specific configuration options
29
+ *
30
+ */
31
+
32
+PROVIDE_REQUIRING_SYMBOL();
33
+
34
+/*
35
+ * Drag in all requested console types
36
+ *
37
+ */
38
+
39
+#ifdef CONSOLE_EFI
40
+REQUIRE_OBJECT ( efi_console );
41
+#endif

+ 41
- 0
src/config/config_linux.c Переглянути файл

@@ -0,0 +1,41 @@
1
+/*
2
+ * This program is free software; you can redistribute it and/or
3
+ * modify it under the terms of the GNU General Public License as
4
+ * published by the Free Software Foundation; either version 2 of the
5
+ * License, or (at your option) any later version.
6
+ *
7
+ * This program is distributed in the hope that it will be useful, but
8
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
10
+ * General Public License for more details.
11
+ *
12
+ * You should have received a copy of the GNU General Public License
13
+ * along with this program; if not, write to the Free Software
14
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15
+ * 02110-1301, USA.
16
+ *
17
+ * You can also choose to distribute this program under the terms of
18
+ * the Unmodified Binary Distribution Licence (as given in the file
19
+ * COPYING.UBDL), provided that you have satisfied its requirements.
20
+ */
21
+
22
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
23
+
24
+#include <config/console.h>
25
+
26
+/** @file
27
+ *
28
+ * Linux-specific configuration options
29
+ *
30
+ */
31
+
32
+PROVIDE_REQUIRING_SYMBOL();
33
+
34
+/*
35
+ * Drag in all requested console types
36
+ *
37
+ */
38
+
39
+#ifdef CONSOLE_LINUX
40
+REQUIRE_OBJECT ( linux_console );
41
+#endif

+ 50
- 0
src/config/config_pcbios.c Переглянути файл

@@ -0,0 +1,50 @@
1
+/*
2
+ * This program is free software; you can redistribute it and/or
3
+ * modify it under the terms of the GNU General Public License as
4
+ * published by the Free Software Foundation; either version 2 of the
5
+ * License, or (at your option) any later version.
6
+ *
7
+ * This program is distributed in the hope that it will be useful, but
8
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
10
+ * General Public License for more details.
11
+ *
12
+ * You should have received a copy of the GNU General Public License
13
+ * along with this program; if not, write to the Free Software
14
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15
+ * 02110-1301, USA.
16
+ *
17
+ * You can also choose to distribute this program under the terms of
18
+ * the Unmodified Binary Distribution Licence (as given in the file
19
+ * COPYING.UBDL), provided that you have satisfied its requirements.
20
+ */
21
+
22
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
23
+
24
+#include <config/console.h>
25
+
26
+/** @file
27
+ *
28
+ * BIOS-specific configuration options
29
+ *
30
+ */
31
+
32
+PROVIDE_REQUIRING_SYMBOL();
33
+
34
+/*
35
+ * Drag in all requested console types
36
+ *
37
+ */
38
+
39
+#ifdef CONSOLE_PCBIOS
40
+REQUIRE_OBJECT ( bios_console );
41
+#endif
42
+#ifdef CONSOLE_VESAFB
43
+REQUIRE_OBJECT ( vesafb );
44
+#endif
45
+#ifdef CONSOLE_FRAMEBUFFER
46
+REQUIRE_OBJECT ( vesafb );
47
+#endif
48
+#ifdef CONSOLE_INT13
49
+REQUIRE_OBJECT ( int13con );
50
+#endif

+ 1
- 1
src/config/console.h Переглянути файл

@@ -35,7 +35,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
35 35
  */
36 36
 
37 37
 //#define	CONSOLE_SERIAL		/* Serial port console */
38
-//#define	CONSOLE_VESAFB		/* VESA framebuffer console */
38
+//#define	CONSOLE_FRAMEBUFFER	/* Graphical framebuffer console */
39 39
 //#define	CONSOLE_SYSLOG		/* Syslog console */
40 40
 //#define	CONSOLE_SYSLOGS		/* Encrypted syslog console */
41 41
 //#define	CONSOLE_VMWARE		/* VMware logfile console */

Завантаження…
Відмінити
Зберегти