Magellan Linux

Annotation of /trunk/libsdl/patches/libsdl-1.2.11-fbcon-page-header.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (hide annotations) (download)
Tue May 8 20:06:05 2007 UTC (17 years ago) by niro
File size: 2387 byte(s)
-import

1 niro 144 Backport from current libsdl svn so we can work with newer kernel headers
2    
3     http://bugs.gentoo.org/159923
4     http://bugs.gentoo.org/169388
5    
6     --- configure.in
7     +++ configure.in
8     @@ -807,6 +807,7 @@
9     ])
10     AC_MSG_RESULT($video_fbcon)
11     if test x$video_fbcon = xyes; then
12     + AC_CHECK_FUNCS(getpagesize)
13     AC_DEFINE(SDL_VIDEO_DRIVER_FBCON)
14     SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c"
15     have_video=yes
16     --- include/SDL_config.h.in
17     +++ include/SDL_config.h.in
18     @@ -302,4 +302,6 @@
19     #undef SDL_HERMES_BLITTERS
20     #undef SDL_ALTIVEC_BLITTERS
21    
22     +#undef HAVE_GETPAGESIZE
23     +
24     #endif /* _SDL_config_h */
25     --- src/video/fbcon/SDL_fbvideo.c
26     +++ src/video/fbcon/SDL_fbvideo.c
27     @@ -29,7 +29,9 @@
28     #include <unistd.h>
29     #include <sys/ioctl.h>
30     #include <sys/mman.h>
31     +#ifndef HAVE_GETPAGESIZE
32     #include <asm/page.h> /* For definition of PAGE_SIZE */
33     +#endif
34     #include <linux/vt.h>
35    
36     #include "SDL_video.h"
37     @@ -149,6 +151,18 @@
38     struct fb_var_screeninfo *vinfo);
39     static void FB_RestorePalette(_THIS);
40    
41     +static int SDL_getpagesize(void)
42     +{
43     +#ifdef HAVE_GETPAGESIZE
44     + return getpagesize();
45     +#elif defined(PAGE_SIZE)
46     + return PAGE_SIZE;
47     +#else
48     +#error Can not determine system page size.
49     + return 4096; /* this is what it USED to be in Linux... */
50     +#endif
51     +}
52     +
53     /* Small wrapper for mmap() so we can play nicely with no-mmu hosts
54     * (non-mmu hosts disallow the MAP_SHARED flag) */
55    
56     @@ -547,7 +561,7 @@
57    
58     /* Memory map the device, compensating for buggy PPC mmap() */
59     mapped_offset = (((long)finfo.smem_start) -
60     - (((long)finfo.smem_start)&~(PAGE_SIZE-1)));
61     + (((long)finfo.smem_start)&~(SDL_getpagesize()-1)));
62     mapped_memlen = finfo.smem_len+mapped_offset;
63     mapped_mem = do_mmap(NULL, mapped_memlen,
64     PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0);
65     --- src/video/Xext/Xxf86dga/XF86DGA.c 2007/03/13 23:11:02 1.1
66     +++ src/video/Xext/Xxf86dga/XF86DGA.c 2007/03/13 23:15:14
67     @@ -18,7 +18,8 @@ Copyright (c) 1995,1996 The XFree86 Pro
68     #define HAS_MMAP_ANON
69     #include <sys/types.h>
70     #include <sys/mman.h>
71     -#include <asm/page.h> /* PAGE_SIZE */
72     +/* kernel header doesn't work with -ansi */
73     +/* #include <asm/page.h> */ /* PAGE_SIZE */
74     #define HAS_SC_PAGESIZE /* _SC_PAGESIZE may be an enum for Linux */
75     #define HAS_GETPAGESIZE
76     #endif /* linux */