mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-22 11:17:19 +00:00
Add support for booting in VESA 0x102 videomode. Corresponding patches to
syscons are being reviewed by sos.
This commit is contained in:
parent
caaf2b4b9a
commit
d9f5f52664
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=27789
@ -1,4 +1,4 @@
|
||||
# $Id: Makefile,v 1.56 1997/04/25 19:37:58 bde Exp $
|
||||
# $Id: Makefile,v 1.57 1997/06/09 05:10:54 bde Exp $
|
||||
#
|
||||
|
||||
PROG= boot
|
||||
@ -10,7 +10,8 @@ BINDIR= /usr/mdec
|
||||
BINMODE= 444
|
||||
CFLAGS= -O2 -malign-functions=0 -malign-jumps=0 -malign-loops=0 \
|
||||
-mno-486 \
|
||||
-DDO_BAD144 -DBOOTWAIT=${BOOTWAIT} -DTIMEOUT=${TIMEOUT}
|
||||
-DVESA_SUPPORT -DDO_BAD144 \
|
||||
-DBOOTWAIT=${BOOTWAIT} -DTIMEOUT=${TIMEOUT}
|
||||
CFLAGS+= -DBOOTSEG=${BOOTSEG} -DBOOTSTACK=${BOOTSTACK}
|
||||
CFLAGS+= -I${.CURDIR}/../../..
|
||||
CFLAGS+= ${CWARNFLAGS}
|
||||
|
@ -24,7 +24,7 @@
|
||||
* the rights to redistribute these changes.
|
||||
*
|
||||
* from: Mach, Revision 2.2 92/04/04 11:34:26 rpd
|
||||
* $Id: bios.S,v 1.10 1997/05/16 10:39:59 bde Exp $
|
||||
* $Id: bios.S,v 1.11 1997/07/12 10:23:15 joerg Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -476,3 +476,31 @@ xdone:
|
||||
pop %ebx
|
||||
pop %ebp
|
||||
ret
|
||||
|
||||
#ifdef VESA_SUPPORT
|
||||
ENTRY(vesa_mode)
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
push %ebx
|
||||
push %esi
|
||||
push %edi
|
||||
|
||||
movw 0x8(%ebp), %bx
|
||||
|
||||
call EXT(prot_to_real)
|
||||
|
||||
data32
|
||||
mov $0x4f02, %eax
|
||||
sti
|
||||
int $0x10
|
||||
cli
|
||||
|
||||
data32
|
||||
call EXT(real_to_prot)
|
||||
|
||||
pop %edi
|
||||
pop %esi
|
||||
pop %ebx
|
||||
pop %ebp
|
||||
ret
|
||||
#endif
|
||||
|
@ -24,7 +24,7 @@
|
||||
* the rights to redistribute these changes.
|
||||
*
|
||||
* from: Mach, [92/04/03 16:51:14 rvb]
|
||||
* $Id: boot.c,v 1.66 1997/06/09 05:10:55 bde Exp $
|
||||
* $Id: boot.c,v 1.67 1997/06/14 10:00:42 bde Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -201,6 +201,12 @@ loadprog(void)
|
||||
unsigned pad;
|
||||
char *s, *t;
|
||||
|
||||
|
||||
#ifdef VESA_SUPPORT
|
||||
if (bootinfo.bi_vesa)
|
||||
vesa_mode(bootinfo.bi_vesa);
|
||||
#endif
|
||||
|
||||
read((void *)&head, sizeof(head));
|
||||
if ( N_BADMAG(head)) {
|
||||
printf("Invalid format!\n");
|
||||
@ -381,6 +387,10 @@ getbootdev(char *ptr, int *howto)
|
||||
goto nextarg;
|
||||
if (c == 'a')
|
||||
f |= RB_ASKNAME;
|
||||
#ifdef VESA_SUPPORT
|
||||
if (c == 'b')
|
||||
bootinfo.bi_vesa = 0x102;
|
||||
#endif
|
||||
if (c == 'C')
|
||||
f |= RB_CDROM;
|
||||
if (c == 'c')
|
||||
|
@ -29,7 +29,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id$
|
||||
* $Id: bootinfo.h,v 1.7 1997/02/22 09:33:57 peter Exp $
|
||||
*/
|
||||
|
||||
#ifndef _MACHINE_BOOTINFO_H_
|
||||
@ -55,7 +55,8 @@ struct bootinfo {
|
||||
unsigned long bi_bios_geom[N_BIOS_GEOM];
|
||||
unsigned int bi_size;
|
||||
unsigned char bi_memsizes_valid;
|
||||
unsigned char bi_pad[3];
|
||||
unsigned char bi_pad[1];
|
||||
unsigned short bi_vesa;
|
||||
unsigned long bi_basemem;
|
||||
unsigned long bi_extmem;
|
||||
unsigned long bi_symtab;
|
||||
|
Loading…
Reference in New Issue
Block a user