added more busybox patches, switch to standard mesa, libdrm, openchrome driver for jetway_j7f5m project

This commit is contained in:
Stephan Raue 2009-05-20 00:47:50 +02:00
parent fed9aacaa5
commit ab8f156838
7 changed files with 272 additions and 14 deletions

View File

@ -0,0 +1,21 @@
--- busybox-1.14.0/editors/awk.c Tue Apr 14 01:43:09 2009
+++ busybox-1.14.0-awk/editors/awk.c Mon May 18 23:49:29 2009
@@ -1571,13 +1571,14 @@
n++; /* we saw yet another delimiter */
} else {
pmatch[0].rm_eo = l;
- if (s[l]) pmatch[0].rm_eo++;
+ if (s[l])
+ pmatch[0].rm_eo++;
}
memcpy(s1, s, l);
/* make sure we remove *all* of the separator chars */
- while (l < pmatch[0].rm_eo) {
- s1[l++] = '\0';
- }
+ do {
+ s1[l] = '\0';
+ } while (++l < pmatch[0].rm_eo);
nextword(&s1);
s += pmatch[0].rm_eo;
} while (*s);

View File

@ -0,0 +1,90 @@
--- busybox-1.14.0/modutils/depmod.c Tue Apr 14 01:42:55 2009
+++ busybox-1.14.0-depmod/modutils/depmod.c Mon May 18 22:37:14 2009
@@ -40,26 +40,28 @@
ARG_r = (1<<6) /* Compat dummy. Linux Makefile uses it */
};
-static int FAST_FUNC parse_module(const char *fname, struct stat *sb,
- void *data, int UNUSED_PARAM depth)
+static int FAST_FUNC parse_module(const char *fname, struct stat *sb UNUSED_PARAM,
+ void *data, int depth UNUSED_PARAM)
{
+ char modname[MODULE_NAME_LEN];
module_info **first = (module_info **) data;
char *image, *ptr;
module_info *info;
- size_t len = sb->st_size;
+ /* Arbitrary. Was sb->st_size, but that breaks .gz etc */
+ size_t len = (64*1024*1024 - 4096);
if (strrstr(fname, ".ko") == NULL)
return TRUE;
image = xmalloc_open_zipped_read_close(fname, &len);
- info = xzalloc(sizeof(module_info));
+ info = xzalloc(sizeof(*info));
info->next = *first;
*first = info;
info->dnext = info->dprev = info;
info->name = xasprintf("/%s", fname);
- info->modname = filename2modname(fname, NULL);
+ info->modname = xstrdup(filename2modname(fname, modname));
for (ptr = image; ptr < image + len - 10; ptr++) {
if (strncmp(ptr, "depends=", 8) == 0) {
char *u;
@@ -69,12 +71,14 @@
if (*u == '-')
*u = '_';
ptr += string_to_llist(ptr, &info->dependencies, ",");
- } else if (ENABLE_FEATURE_MODUTILS_ALIAS &&
- strncmp(ptr, "alias=", 6) == 0) {
+ } else if (ENABLE_FEATURE_MODUTILS_ALIAS
+ && strncmp(ptr, "alias=", 6) == 0
+ ) {
llist_add_to(&info->aliases, xstrdup(ptr + 6));
ptr += strlen(ptr);
- } else if (ENABLE_FEATURE_MODUTILS_SYMBOLS &&
- strncmp(ptr, "__ksymtab_", 10) == 0) {
+ } else if (ENABLE_FEATURE_MODUTILS_SYMBOLS
+ && strncmp(ptr, "__ksymtab_", 10) == 0
+ ) {
ptr += 10;
if (strncmp(ptr, "gpl", 3) == 0 ||
strcmp(ptr, "strings") == 0)
@@ -199,10 +203,17 @@
if (!(option_mask32 & ARG_n))
xfreopen_write("modules.alias", stdout);
for (m = modules; m != NULL; m = m->next) {
+ const char *fname = bb_basename(m->name);
+ int fnlen = strchrnul(fname, '.') - fname;
while (m->aliases) {
- printf("alias %s %s\n",
+ /* Last word can well be m->modname instead,
+ * but depmod from module-init-tools 3.4
+ * uses module basename, i.e., no s/-/_/g.
+ * (pathname and .ko.* are still stripped)
+ * Mimicking that... */
+ printf("alias %s %.*s\n",
(char*)llist_pop(&m->aliases),
- m->modname);
+ fnlen, fname);
}
}
#endif
@@ -210,10 +221,12 @@
if (!(option_mask32 & ARG_n))
xfreopen_write("modules.symbols", stdout);
for (m = modules; m != NULL; m = m->next) {
+ const char *fname = bb_basename(m->name);
+ int fnlen = strchrnul(fname, '.') - fname;
while (m->symbols) {
- printf("alias symbol:%s %s\n",
+ printf("alias symbol:%s %.*s\n",
(char*)llist_pop(&m->symbols),
- m->modname);
+ fnlen, fname);
}
}
#endif

View File

@ -0,0 +1,91 @@
--- busybox-1.14.0/archival/gzip.c Tue Apr 14 01:42:55 2009
+++ busybox-1.14.0-gzip/archival/gzip.c Mon May 18 22:36:12 2009
@@ -389,19 +389,6 @@
}
/* ===========================================================================
- * Clear input and output buffers
- */
-static void clear_bufs(void)
-{
- G1.outcnt = 0;
-#ifdef DEBUG
- G1.insize = 0;
-#endif
- G1.isize = 0;
-}
-
-
-/* ===========================================================================
* Run a set of bytes through the crc shift register. If s is a NULL
* pointer, then initialize the crc shift register contents instead.
* Return the current crc in either case.
@@ -2019,7 +2006,37 @@
{
struct stat s;
- clear_bufs();
+ /* Clear input and output buffers */
+ G1.outcnt = 0;
+#ifdef DEBUG
+ G1.insize = 0;
+#endif
+ G1.isize = 0;
+
+ /* Reinit G2.xxx */
+ memset(&G2, 0, sizeof(G2));
+ G2.l_desc.dyn_tree = G2.dyn_ltree;
+ G2.l_desc.static_tree = G2.static_ltree;
+ G2.l_desc.extra_bits = extra_lbits;
+ G2.l_desc.extra_base = LITERALS + 1;
+ G2.l_desc.elems = L_CODES;
+ G2.l_desc.max_length = MAX_BITS;
+ //G2.l_desc.max_code = 0;
+ G2.d_desc.dyn_tree = G2.dyn_dtree;
+ G2.d_desc.static_tree = G2.static_dtree;
+ G2.d_desc.extra_bits = extra_dbits;
+ //G2.d_desc.extra_base = 0;
+ G2.d_desc.elems = D_CODES;
+ G2.d_desc.max_length = MAX_BITS;
+ //G2.d_desc.max_code = 0;
+ G2.bl_desc.dyn_tree = G2.bl_tree;
+ //G2.bl_desc.static_tree = NULL;
+ G2.bl_desc.extra_bits = extra_blbits,
+ //G2.bl_desc.extra_base = 0;
+ G2.bl_desc.elems = BL_CODES;
+ G2.bl_desc.max_length = MAX_BL_BITS;
+ //G2.bl_desc.max_code = 0;
+
s.st_ctime = 0;
fstat(STDIN_FILENO, &s);
zip(s.st_ctime);
@@ -2064,29 +2081,6 @@
SET_PTR_TO_GLOBALS(xzalloc(sizeof(struct globals) + sizeof(struct globals2))
+ sizeof(struct globals));
barrier();
- G2.l_desc.dyn_tree = G2.dyn_ltree;
- G2.l_desc.static_tree = G2.static_ltree;
- G2.l_desc.extra_bits = extra_lbits;
- G2.l_desc.extra_base = LITERALS + 1;
- G2.l_desc.elems = L_CODES;
- G2.l_desc.max_length = MAX_BITS;
- //G2.l_desc.max_code = 0;
-
- G2.d_desc.dyn_tree = G2.dyn_dtree;
- G2.d_desc.static_tree = G2.static_dtree;
- G2.d_desc.extra_bits = extra_dbits;
- //G2.d_desc.extra_base = 0;
- G2.d_desc.elems = D_CODES;
- G2.d_desc.max_length = MAX_BITS;
- //G2.d_desc.max_code = 0;
-
- G2.bl_desc.dyn_tree = G2.bl_tree;
- //G2.bl_desc.static_tree = NULL;
- G2.bl_desc.extra_bits = extra_blbits,
- //G2.bl_desc.extra_base = 0;
- G2.bl_desc.elems = BL_CODES;
- G2.bl_desc.max_length = MAX_BL_BITS;
- //G2.bl_desc.max_code = 0;
/* Allocate all global buffers (for DYN_ALLOC option) */
ALLOC(uch, G1.l_buf, INBUFSIZ);

View File

@ -0,0 +1,35 @@
--- busybox-1.14.0/include/libbb.h Tue Apr 14 02:50:20 2009
+++ busybox-1.14.0-libbb/include/libbb.h Fri May 15 23:22:02 2009
@@ -965,6 +965,12 @@
/* How long the longest ESC sequence we know? */
KEYCODE_BUFFER_SIZE = 4
};
+/* Note: fd may be in blocking or non-blocking mode, both make sense.
+ * For one, less uses non-blocking mode.
+ * Only the first read syscall inside read_key may block indefinitely
+ * (unless fd is in non-blocking mode),
+ * subsequent reads will time out after a few milliseconds.
+ */
int read_key(int fd, smalluint *nbuffered, char *buffer) FAST_FUNC;
--- busybox-1.14.0/libbb/read.c Tue Apr 14 01:43:00 2009
+++ busybox-1.14.0-libbb/libbb/read.c Fri May 15 23:22:02 2009
@@ -229,7 +229,7 @@
if (size > 64*1024)
size = 64*1024;
}
- xrealloc(buf, total + 1);
+ buf = xrealloc(buf, total + 1);
buf[total] = '\0';
if (maxsz_p)
@@ -273,7 +273,7 @@
free(buf);
return NULL;
}
- xrealloc(buf, size + 1);
+ buf = xrealloc(buf, size + 1);
buf[size] = '\0';
if (maxsz_p)

View File

@ -0,0 +1,18 @@
--- busybox-1.14.0/procps/sysctl.c Tue Apr 14 01:43:09 2009
+++ busybox-1.14.0-sysctl/procps/sysctl.c Sun May 10 23:40:52 2009
@@ -214,11 +214,11 @@
// (but _whitespace_ from ends should be trimmed first (and we do it right))
//TODO: "var==1" is mishandled (must use "=1" as a value, but uses "1")
while (config_read(parser, token, 2, 2, "# \t=", PARSE_NORMAL)) {
+ char *tp;
sysctl_dots_to_slashes(token[0]);
- /* Save ~4 bytes by using parser internals */
- /* parser->line is big enough for sprintf */
- sprintf(parser->line, "%s=%s", token[0], token[1]);
- sysctl_act_recursive(parser->line);
+ tp = xasprintf("%s=%s", token[0], token[1]);
+ sysctl_act_recursive(tp);
+ free(tp);
}
if (ENABLE_FEATURE_CLEAN_UP)
config_close(parser);

View File

@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.30-rc4
# Linux kernel version: 2.6.30-rc6
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@ -1034,7 +1034,7 @@ CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
@ -1370,27 +1370,26 @@ CONFIG_DVB_ISL6421=m
#
# Graphics support
#
CONFIG_AGP=m
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=m
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=m
CONFIG_AGP_VIA=y
# CONFIG_AGP_EFFICEON is not set
CONFIG_DRM=m
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
CONFIG_DRM_VIA=y
# CONFIG_DRM_SAVAGE is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
@ -1431,9 +1430,7 @@ CONFIG_FB_VESA=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set

View File

@ -4,9 +4,15 @@ MEDIACENTER=elisa
# X.org drivers to use (all/ati/geode/glint/i740/intel/mga/nv/openchrome/
# radeonhd/s3/s3virge/savage/sis/tdfx/trident/vesa/vmware)
# Space separated list is supported, e.g. XORG_DRIVERS="ati s3"
XORG_DRIVERS="openchrome-ttm"
DRIDRIVERS="openchrome"
#XORG_DRIVERS="openchrome-ttm"
#DRIDRIVERS="openchrome"
MESA=Mesa-openchrome
LIBDRM=libdrm-newttm
#MESA=Mesa-openchrome
#LIBDRM=libdrm-newttm
XORG_DRIVERS="openchrome"
DRIDRIVERS="unichrome"
MESA=Mesa
LIBDRM=libdrm