From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1NJvZ7-0005QU-Kq for mharc-grub-devel@gnu.org; Sun, 13 Dec 2009 16:01:17 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NJvZ4-0005MR-Vl for grub-devel@gnu.org; Sun, 13 Dec 2009 16:01:15 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NJvZ0-0005HE-Kl for grub-devel@gnu.org; Sun, 13 Dec 2009 16:01:14 -0500 Received: from [199.232.76.173] (port=55944 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NJvYz-0005Gm-VN for grub-devel@gnu.org; Sun, 13 Dec 2009 16:01:10 -0500 Received: from xvm-190-8.ghst.net ([217.70.190.8]:41713 helo=aybabtu.com) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NJvYz-0007og-GT for grub-devel@gnu.org; Sun, 13 Dec 2009 16:01:09 -0500 Received: from [192.168.10.10] (helo=thorin) by aybabtu.com with esmtp (Exim 4.69) (envelope-from ) id 1NJvYw-0000Mg-3K; Sun, 13 Dec 2009 22:01:06 +0100 Received: from rmh by thorin with local (Exim 4.69) (envelope-from ) id 1NJvYu-0007r5-Gm; Sun, 13 Dec 2009 22:01:04 +0100 Date: Sun, 13 Dec 2009 22:01:04 +0100 From: Robert Millan To: grub-devel@gnu.org Message-ID: <20091213210104.GA30191@thorin> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="W/nzBZO5zC0uMSeA" Content-Disposition: inline Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.18 (2008-05-17) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Cc: Vladimir Serbinenko Subject: [PATCH] mips & gfxterm kludge X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Dec 2009 21:01:16 -0000 --W/nzBZO5zC0uMSeA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Possible approach to solving mips / gfxterm kludge. Comments? -- Robert Millan --W/nzBZO5zC0uMSeA Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="mips_gfxterm.diff" === modified file 'term/gfxterm.c' --- term/gfxterm.c 2009-10-24 19:01:27 +0000 +++ term/gfxterm.c 2009-12-13 20:37:57 +0000 @@ -27,7 +27,7 @@ #include #include -#define DEFAULT_VIDEO_MODE "1024x600" +#define DEFAULT_VIDEO_MODE "640x480,800x600,1024x768,0x0" #define DEFAULT_BORDER_WIDTH 10 #define DEFAULT_STANDARD_COLOR 0x07 === modified file 'video/sm712.c' --- video/sm712.c 2009-12-02 10:48:10 +0000 +++ video/sm712.c 2009-12-13 20:33:44 +0000 @@ -55,7 +55,7 @@ grub_video_sm712_video_fini (void) { if (framebuffer.mapped) grub_pci_device_unmap_range (framebuffer.dev, framebuffer.ptr, - 1024 * 600 * 2); + framebuffer.mode_info.width * framebuffer.mode_info.height * (framebuffer.mode_info.depth / 8)); return grub_video_fb_fini (); } @@ -68,7 +68,7 @@ grub_video_sm712_setup (unsigned int wid grub_err_t err; int found = 0; - int NESTED_FUNC_ATTR find_card (grub_pci_device_t dev, grub_pci_id_t pciid __attribute__ ((unused))) + int NESTED_FUNC_ATTR find_card (grub_pci_device_t dev, grub_pci_id_t pciid) { grub_pci_address_t addr; grub_uint32_t class; @@ -92,8 +92,16 @@ grub_video_sm712_setup (unsigned int wid depth = (mode_type & GRUB_VIDEO_MODE_TYPE_DEPTH_MASK) >> GRUB_VIDEO_MODE_TYPE_DEPTH_POS; - if ((width != 1024 && width != 0) || (height != 600 && height != 0) - || (depth != 16 && depth != 0)) + if (width == 0) + width = 1024; + + if (height == 0) + height = 600; + + if (depth == 0) + depth = 16; + + if (width != 1024 || height != 600 || depth != 16) return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, "Only 1024x600x16 is supported"); @@ -107,10 +115,10 @@ grub_video_sm712_setup (unsigned int wid } /* Fill mode info details. */ - framebuffer.mode_info.width = 1024; - framebuffer.mode_info.height = 600; + framebuffer.mode_info.width = width; + framebuffer.mode_info.height = height; framebuffer.mode_info.mode_type = GRUB_VIDEO_MODE_TYPE_RGB; - framebuffer.mode_info.bpp = 16; + framebuffer.mode_info.bpp = depth; framebuffer.mode_info.bytes_per_pixel = 2; framebuffer.mode_info.pitch = 1024 * 2; framebuffer.mode_info.number_of_colors = 256; @@ -126,7 +134,7 @@ grub_video_sm712_setup (unsigned int wid /* We can safely discard volatile attribute. */ framebuffer.ptr = (void *) grub_pci_device_map_range (framebuffer.dev, framebuffer.base, - 1024 * 600 * 2); + width * height * (depth / 8)); framebuffer.mapped = 1; err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target, &framebuffer.mode_info, framebuffer.ptr); --W/nzBZO5zC0uMSeA--