Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 105806
b: refs/heads/master
c: 2d6ffcc
h: refs/heads/master
v: v3
  • Loading branch information
Thomas Petazzoni authored and Linus Torvalds committed Jul 25, 2008
1 parent 0792771 commit 8238d47
Show file tree
Hide file tree
Showing 14 changed files with 63 additions and 440 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ba92a43dbaee339cf5915ef766d3d3ffbaaf103c
refs/heads/master: 2d6ffcca623a9a16df6cdfbe8250b7a5904a5f5e
39 changes: 2 additions & 37 deletions trunk/arch/alpha/boot/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,6 @@ static unsigned outcnt; /* bytes in output buffer */
static int fill_inbuf(void);
static void flush_window(void);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

static char *input_data;
static int input_data_size;
Expand All @@ -88,51 +86,18 @@ static uch *output_data;
static ulg output_ptr;
static ulg bytes_out;

static void *malloc(int size);
static void free(void *where);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

extern int end;
static ulg free_mem_ptr;
static ulg free_mem_ptr_end;
static ulg free_mem_end_ptr;

#define HEAP_SIZE 0x3000

#include "../../../lib/inflate.c"

static void *malloc(int size)
{
void *p;

if (size <0) error("Malloc error");
if (free_mem_ptr <= 0) error("Memory error");

free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */

p = (void *)free_mem_ptr;
free_mem_ptr += size;

if (free_mem_ptr >= free_mem_ptr_end)
error("Out of memory");
return p;
}

static void free(void *where)
{ /* gzip_mark & gzip_release do the free */
}

static void gzip_mark(void **ptr)
{
*ptr = (void *) free_mem_ptr;
}

static void gzip_release(void **ptr)
{
free_mem_ptr = (long) *ptr;
}

/* ===========================================================================
* Fill the input buffer. This is called only when the buffer is empty
* and at least one byte is really needed.
Expand Down Expand Up @@ -193,7 +158,7 @@ decompress_kernel(void *output_start,

/* FIXME FIXME FIXME */
free_mem_ptr = (ulg)output_start + ksize;
free_mem_ptr_end = (ulg)output_start + ksize + 0x200000;
free_mem_end_ptr = (ulg)output_start + ksize + 0x200000;
/* FIXME FIXME FIXME */

/* put in temp area to reduce initial footprint */
Expand Down
59 changes: 7 additions & 52 deletions trunk/arch/arm/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,6 @@ static unsigned outcnt; /* bytes in output buffer */
static int fill_inbuf(void);
static void flush_window(void);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

extern char input_data[];
extern char input_data_end[];
Expand All @@ -227,64 +225,21 @@ static uch *output_data;
static ulg output_ptr;
static ulg bytes_out;

static void *malloc(int size);
static void free(void *where);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

static void putstr(const char *);

extern int end;
static ulg free_mem_ptr;
static ulg free_mem_ptr_end;
static ulg free_mem_end_ptr;

#define HEAP_SIZE 0x3000

#include "../../../../lib/inflate.c"

#ifndef STANDALONE_DEBUG
static void *malloc(int size)
{
void *p;

if (size <0) error("Malloc error");
if (free_mem_ptr <= 0) error("Memory error");

free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */

p = (void *)free_mem_ptr;
free_mem_ptr += size;

if (free_mem_ptr >= free_mem_ptr_end)
error("Out of memory");
return p;
}

static void free(void *where)
{ /* gzip_mark & gzip_release do the free */
}

static void gzip_mark(void **ptr)
{
arch_decomp_wdog();
*ptr = (void *) free_mem_ptr;
}
#ifdef STANDALONE_DEBUG
#define NO_INFLATE_MALLOC
#endif

static void gzip_release(void **ptr)
{
arch_decomp_wdog();
free_mem_ptr = (long) *ptr;
}
#else
static void gzip_mark(void **ptr)
{
}
#define ARCH_HAS_DECOMP_WDOG

static void gzip_release(void **ptr)
{
}
#endif
#include "../../../../lib/inflate.c"

/* ===========================================================================
* Fill the input buffer. This is called only when the buffer is empty
Expand Down Expand Up @@ -348,7 +303,7 @@ decompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p,
{
output_data = (uch *)output_start; /* Points to kernel start */
free_mem_ptr = free_mem_ptr_p;
free_mem_ptr_end = free_mem_ptr_end_p;
free_mem_end_ptr = free_mem_ptr_end_p;
__machine_arch_type = arch_id;

arch_decomp_setup();
Expand Down
36 changes: 1 addition & 35 deletions trunk/arch/cris/arch-v10/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,50 +102,16 @@ extern char *input_data; /* lives in head.S */
static long bytes_out = 0;
static uch *output_data;
static unsigned long output_ptr = 0;

static void *malloc(int size);
static void free(void *where);
static void gzip_mark(void **);
static void gzip_release(void **);

static void puts(const char *);

/* the "heap" is put directly after the BSS ends, at end */

extern int _end;
static long free_mem_ptr = (long)&_end;
static long free_mem_end_ptr;

#include "../../../../../lib/inflate.c"

static void *malloc(int size)
{
void *p;

if (size < 0)
error("Malloc error");

free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */

p = (void *)free_mem_ptr;
free_mem_ptr += size;

return p;
}

static void free(void *where)
{ /* Don't care */
}

static void gzip_mark(void **ptr)
{
*ptr = (void *) free_mem_ptr;
}

static void gzip_release(void **ptr)
{
free_mem_ptr = (long) *ptr;
}

/* decompressor info and error messages to serial console */

static void
Expand Down
39 changes: 3 additions & 36 deletions trunk/arch/cris/arch-v32/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,58 +89,25 @@ static unsigned outcnt = 0; /* bytes in output buffer */

static void flush_window(void);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

extern char *input_data; /* lives in head.S */

static long bytes_out = 0;
static long bytes_out;
static uch *output_data;
static unsigned long output_ptr = 0;
static unsigned long output_ptr;

static void *malloc(int size);
static void free(void *where);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

static void puts(const char *);

/* the "heap" is put directly after the BSS ends, at end */

extern int _end;
static long free_mem_ptr = (long)&_end;
static long free_mem_end_ptr;

#include "../../../../../lib/inflate.c"

static void *malloc(int size)
{
void *p;

if (size <0) error("Malloc error");

free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */

p = (void *)free_mem_ptr;
free_mem_ptr += size;

return p;
}

static void free(void *where)
{ /* Don't care */
}

static void gzip_mark(void **ptr)
{
*ptr = (void *) free_mem_ptr;
}

static void gzip_release(void **ptr)
{
free_mem_ptr = (long) *ptr;
}

/* decompressor info and error messages to serial console */

static inline void
Expand Down
38 changes: 0 additions & 38 deletions trunk/arch/h8300/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,6 @@ static unsigned outcnt = 0; /* bytes in output buffer */
static int fill_inbuf(void);
static void flush_window(void);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

extern char input_data[];
extern int input_len;
Expand All @@ -77,11 +75,7 @@ static long bytes_out = 0;
static uch *output_data;
static unsigned long output_ptr = 0;

static void *malloc(int size);
static void free(void *where);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

int puts(const char *);

Expand All @@ -98,38 +92,6 @@ static unsigned long free_mem_end_ptr;
#define TDR *((volatile unsigned char *)0xffff8b)
#define SSR *((volatile unsigned char *)0xffff8c)

static void *malloc(int size)
{
void *p;

if (size <0) error("Malloc error");
if (free_mem_ptr == 0) error("Memory error");

free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */

p = (void *)free_mem_ptr;
free_mem_ptr += size;

if (free_mem_ptr >= free_mem_end_ptr)
error("Out of memory");

return p;
}

static void free(void *where)
{ /* Don't care */
}

static void gzip_mark(void **ptr)
{
*ptr = (void *) free_mem_ptr;
}

static void gzip_release(void **ptr)
{
free_mem_ptr = (long) *ptr;
}

int puts(const char *s)
{
return 0;
Expand Down
37 changes: 0 additions & 37 deletions trunk/arch/m32r/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,6 @@ static unsigned outcnt = 0; /* bytes in output buffer */
static int fill_inbuf(void);
static void flush_window(void);
static void error(char *m);
static void gzip_mark(void **);
static void gzip_release(void **);

static unsigned char *input_data;
static int input_len;
Expand All @@ -82,48 +80,13 @@ static unsigned long output_ptr = 0;

#include "m32r_sio.c"

static void *malloc(int size);
static void free(void *where);

static unsigned long free_mem_ptr;
static unsigned long free_mem_end_ptr;

#define HEAP_SIZE 0x10000

#include "../../../../lib/inflate.c"

static void *malloc(int size)
{
void *p;

if (size <0) error("Malloc error");
if (free_mem_ptr == 0) error("Memory error");

free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */

p = (void *)free_mem_ptr;
free_mem_ptr += size;

if (free_mem_ptr >= free_mem_end_ptr)
error("Out of memory");

return p;
}

static void free(void *where)
{ /* Don't care */
}

static void gzip_mark(void **ptr)
{
*ptr = (void *) free_mem_ptr;
}

static void gzip_release(void **ptr)
{
free_mem_ptr = (long) *ptr;
}

void* memset(void* s, int c, size_t n)
{
int i;
Expand Down
Loading

0 comments on commit 8238d47

Please sign in to comment.