summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2010-03-29 20:12:44 +0000
committerjkim <jkim@FreeBSD.org>2010-03-29 20:12:44 +0000
commit54bd4e6ce967d675bdc3b023c04131e41b12f62a (patch)
tree3badc0a9d9b513ab041c53d2352a3f8943a099fc /usr.sbin
parenta00cb190bf7744ce1f7e0774ca6908f41fb3d90d (diff)
downloadFreeBSD-src-54bd4e6ce967d675bdc3b023c04131e41b12f62a.zip
FreeBSD-src-54bd4e6ce967d675bdc3b023c04131e41b12f62a.tar.gz
Print memory model of the video mode except for planar memory model.
'P', 'D', 'C', 'H', 'V' mean packed pixel, direct color, CGA, Hercules, VGA X memory models respectively where they have fixed number of planes.
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/vidcontrol/vidcontrol.c37
1 files changed, 32 insertions, 5 deletions
diff --git a/usr.sbin/vidcontrol/vidcontrol.c b/usr.sbin/vidcontrol/vidcontrol.c
index 06afe53..48580f1 100644
--- a/usr.sbin/vidcontrol/vidcontrol.c
+++ b/usr.sbin/vidcontrol/vidcontrol.c
@@ -950,10 +950,11 @@ show_adapter_info(void)
static void
show_mode_info(void)
{
- struct video_info _info;
char buf[80];
- int mode;
+ struct video_info _info;
int c;
+ int mm;
+ int mode;
printf(" mode# flags type size "
"font window linear buffer\n");
@@ -972,9 +973,35 @@ show_mode_info(void)
if (_info.vi_flags & V_INFO_GRAPHICS) {
c = 'G';
- snprintf(buf, sizeof(buf), "%dx%dx%d %d",
- _info.vi_width, _info.vi_height,
- _info.vi_depth, _info.vi_planes);
+ if (_info.vi_mem_model == V_INFO_MM_PLANAR)
+ snprintf(buf, sizeof(buf), "%dx%dx%d %d",
+ _info.vi_width, _info.vi_height,
+ _info.vi_depth, _info.vi_planes);
+ else {
+ switch (_info.vi_mem_model) {
+ case V_INFO_MM_PACKED:
+ mm = 'P';
+ break;
+ case V_INFO_MM_DIRECT:
+ mm = 'D';
+ break;
+ case V_INFO_MM_CGA:
+ mm = 'C';
+ break;
+ case V_INFO_MM_HGC:
+ mm = 'H';
+ break;
+ case V_INFO_MM_VGAX:
+ mm = 'V';
+ break;
+ default:
+ mm = ' ';
+ break;
+ }
+ snprintf(buf, sizeof(buf), "%dx%dx%d %c",
+ _info.vi_width, _info.vi_height,
+ _info.vi_depth, mm);
+ }
} else {
c = 'T';
OpenPOWER on IntegriCloud