Deleted Added
full compact
vga.c (233892) vga.c (298431)
1/*-
2 * Copyright (c) 1999 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
3 * Copyright (c) 1992-1998 S��ren Schmidt
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 15 unchanged lines hidden (view full) ---

24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
29 */
30
31#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1999 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
3 * Copyright (c) 1992-1998 S��ren Schmidt
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 15 unchanged lines hidden (view full) ---

24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
29 */
30
31#include <sys/cdefs.h>
32__FBSDID("$FreeBSD: head/sys/dev/fb/vga.c 233892 2012-04-04 21:19:55Z jkim $");
32__FBSDID("$FreeBSD: head/sys/dev/fb/vga.c 298431 2016-04-21 19:40:10Z pfg $");
33
34#include "opt_vga.h"
35#include "opt_fb.h"
36#ifndef FB_DEBUG
37#define FB_DEBUG 0
38#endif
39#include "opt_syscons.h" /* should be removed in the future, XXX */
40

--- 556 unchanged lines hidden (view full) ---

597 { M_VGA_C90x50, M_VGA_C80x25 },
598 { M_VGA_M90x60, M_VGA_M80x25 },
599 { M_VGA_C90x60, M_VGA_C80x25 },
600#endif
601 { M_VGA_MODEX, M_VGA_CG320 },
602 };
603 int i;
604
33
34#include "opt_vga.h"
35#include "opt_fb.h"
36#ifndef FB_DEBUG
37#define FB_DEBUG 0
38#endif
39#include "opt_syscons.h" /* should be removed in the future, XXX */
40

--- 556 unchanged lines hidden (view full) ---

597 { M_VGA_C90x50, M_VGA_C80x25 },
598 { M_VGA_M90x60, M_VGA_M80x25 },
599 { M_VGA_C90x60, M_VGA_C80x25 },
600#endif
601 { M_VGA_MODEX, M_VGA_CG320 },
602 };
603 int i;
604
605 for (i = 0; i < sizeof(mode_map)/sizeof(mode_map[0]); ++i) {
605 for (i = 0; i < nitems(mode_map); ++i) {
606 if (mode_map[i].from == mode)
607 return mode_map[i].to;
608 }
609 return mode;
610}
611#endif /* !VGA_NO_BIOS && !VGA_NO_MODE_CHANGE */
612
613/* map a generic video mode to a known mode number */

--- 36 unchanged lines hidden (view full) ---

650 case KD_HERCULES:
651 return M_EGAMONO80x25; /* XXX: this name is confusing */
652
653 default:
654 return -1;
655 }
656 }
657
606 if (mode_map[i].from == mode)
607 return mode_map[i].to;
608 }
609 return mode;
610}
611#endif /* !VGA_NO_BIOS && !VGA_NO_MODE_CHANGE */
612
613/* map a generic video mode to a known mode number */

--- 36 unchanged lines hidden (view full) ---

650 case KD_HERCULES:
651 return M_EGAMONO80x25; /* XXX: this name is confusing */
652
653 default:
654 return -1;
655 }
656 }
657
658 for (i = 0; i < sizeof(mode_map)/sizeof(mode_map[0]); ++i) {
658 for (i = 0; i < nitems(mode_map); ++i) {
659 if (mode_map[i].from == mode)
660 return ((color) ? mode_map[i].to_color : mode_map[i].to_mono);
661 }
662 return mode;
663}
664
665/* turn the BIOS video number into our video mode number */
666static int

--- 30 unchanged lines hidden (view full) ---

697 M_ENH_CG640,
698 M_BG640x480, M_CG640x480,
699 M_VGA_CG320,
700 };
701
702 switch (type) {
703
704 case KD_VGA:
659 if (mode_map[i].from == mode)
660 return ((color) ? mode_map[i].to_color : mode_map[i].to_mono);
661 }
662 return mode;
663}
664
665/* turn the BIOS video number into our video mode number */
666static int

--- 30 unchanged lines hidden (view full) ---

697 M_ENH_CG640,
698 M_BG640x480, M_CG640x480,
699 M_VGA_CG320,
700 };
701
702 switch (type) {
703
704 case KD_VGA:
705 if (bios_mode < sizeof(vga_modes)/sizeof(vga_modes[0]))
705 if (bios_mode < nitems(vga_modes))
706 return vga_modes[bios_mode];
707 else if (color)
708 return M_VGA_C80x25;
709 else
710 return M_VGA_M80x25;
711 break;
712
713 case KD_EGA:
706 return vga_modes[bios_mode];
707 else if (color)
708 return M_VGA_C80x25;
709 else
710 return M_VGA_M80x25;
711 break;
712
713 case KD_EGA:
714 if (bios_mode < sizeof(ega_modes)/sizeof(ega_modes[0]))
714 if (bios_mode < nitems(ega_modes))
715 return ega_modes[bios_mode];
716 else if (color)
717 return M_ENH_C80x25;
718 else
719 return M_EGAMONO80x25;
720 break;
721
722 case KD_CGA:
715 return ega_modes[bios_mode];
716 else if (color)
717 return M_ENH_C80x25;
718 else
719 return M_EGAMONO80x25;
720 break;
721
722 case KD_CGA:
723 if (bios_mode < sizeof(cga_modes)/sizeof(cga_modes[0]))
723 if (bios_mode < nitems(cga_modes))
724 return cga_modes[bios_mode];
725 else
726 return M_C80x25;
727 break;
728
729 case KD_MONO:
730 case KD_HERCULES:
731 return M_EGAMONO80x25; /* XXX: this name is confusing */

--- 35 unchanged lines hidden (view full) ---

767 { DCC_EGA40 /* CGA monitor */, DCC_MONO},
768 { DCC_EGA80 /* CGA monitor */, DCC_MONO},
769 { DCC_EGA80, DCC_MONO },
770 { DCC_EGA80, DCC_MONO },
771 { DCC_EGAMONO, DCC_CGA40 },
772 { DCC_EGAMONO, DCC_CGA80 },
773 };
774
724 return cga_modes[bios_mode];
725 else
726 return M_C80x25;
727 break;
728
729 case KD_MONO:
730 case KD_HERCULES:
731 return M_EGAMONO80x25; /* XXX: this name is confusing */

--- 35 unchanged lines hidden (view full) ---

767 { DCC_EGA40 /* CGA monitor */, DCC_MONO},
768 { DCC_EGA80 /* CGA monitor */, DCC_MONO},
769 { DCC_EGA80, DCC_MONO },
770 { DCC_EGA80, DCC_MONO },
771 { DCC_EGAMONO, DCC_CGA40 },
772 { DCC_EGAMONO, DCC_CGA80 },
773 };
774
775 if ((code < 0) || (code >= sizeof(dcc)/sizeof(dcc[0]))) {
775 if ((code < 0) || (code >= nitems(dcc))) {
776 adp[V_ADP_PRIMARY] = adapter_init_value[DCC_MONO];
777 adp[V_ADP_SECONDARY] = adapter_init_value[DCC_CGA80];
778 } else {
779 adp[V_ADP_PRIMARY] = adapter_init_value[dcc[code].primary];
780 adp[V_ADP_SECONDARY] = adapter_init_value[dcc[code].secondary];
781 }
782}
783#endif /* VGA_NO_BIOS */

--- 129 unchanged lines hidden (view full) ---

913 {0xff}, {0xff}, {0xff}, {0xff},
914 };
915 int identical = TRUE;
916 int i;
917
918 if ((buf1 == NULL) || (buf2 == NULL))
919 return COMP_DIFFERENT;
920
776 adp[V_ADP_PRIMARY] = adapter_init_value[DCC_MONO];
777 adp[V_ADP_SECONDARY] = adapter_init_value[DCC_CGA80];
778 } else {
779 adp[V_ADP_PRIMARY] = adapter_init_value[dcc[code].primary];
780 adp[V_ADP_SECONDARY] = adapter_init_value[dcc[code].secondary];
781 }
782}
783#endif /* VGA_NO_BIOS */

--- 129 unchanged lines hidden (view full) ---

913 {0xff}, {0xff}, {0xff}, {0xff},
914 };
915 int identical = TRUE;
916 int i;
917
918 if ((buf1 == NULL) || (buf2 == NULL))
919 return COMP_DIFFERENT;
920
921 for (i = 0; i < sizeof(params)/sizeof(params[0]); ++i) {
921 for (i = 0; i < nitems(params); ++i) {
922 if (params[i].mask == 0) /* don't care */
923 continue;
924 if ((buf1[i] & params[i].mask) != (buf2[i] & params[i].mask))
925 return COMP_DIFFERENT;
926 if (buf1[i] != buf2[i])
927 identical = FALSE;
928 }
929 return (identical) ? COMP_IDENTICAL : COMP_SIMILAR;

--- 2143 unchanged lines hidden ---
922 if (params[i].mask == 0) /* don't care */
923 continue;
924 if ((buf1[i] & params[i].mask) != (buf2[i] & params[i].mask))
925 return COMP_DIFFERENT;
926 if (buf1[i] != buf2[i])
927 identical = FALSE;
928 }
929 return (identical) ? COMP_IDENTICAL : COMP_SIMILAR;

--- 2143 unchanged lines hidden ---