Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3036 → Rev 3028

/trunk/kernel/generic/include/lib/rd.h
66,18 → 66,16
#define RE_UNSUPPORTED 2 /* Non-supported image (e.g. wrong version) */
 
/** RAM disk header */
struct rd_header {
typedef struct {
uint8_t magic[RD_MAGIC_SIZE];
uint8_t version;
uint8_t data_type;
uint32_t header_size;
uint64_t data_size;
} __attribute__ ((packed));
} rd_header;
 
typedef struct rd_header rd_header_t;
extern int init_rd(rd_header * addr, size_t size);
 
extern int init_rd(rd_header_t *addr, size_t size);
 
#endif
 
/** @}
/trunk/kernel/generic/src/lib/rd.c
42,6 → 42,7
#include <mm/frame.h>
#include <sysinfo/sysinfo.h>
#include <ddi/ddi.h>
#include <print.h>
#include <align.h>
 
static parea_t rd_parea; /**< Physical memory area for rd. */
51,7 → 52,7
* and information about the share is provided as sysinfo values to the userspace
* tasks.
*/
int init_rd(rd_header_t *header, size_t size)
int init_rd(rd_header * header, size_t size)
{
/* Identify RAM disk */
if ((header->magic[0] != RD_MAG0) || (header->magic[1] != RD_MAG1) ||
79,7 → 80,10
if ((hsize % FRAME_SIZE) || (dsize % FRAME_SIZE))
return RE_UNSUPPORTED;
if (dsize % FRAME_SIZE)
return RE_UNSUPPORTED;
 
if (hsize > size)
return RE_INVALID;
/trunk/kernel/generic/src/main/kinit.c
178,7 → 178,7
if (!ipc_phone_0)
ipc_phone_0 = &utask->answerbox;
} else {
int rd = init_rd((rd_header_t *) init.tasks[i].addr,
int rd = init_rd((rd_header *) init.tasks[i].addr,
init.tasks[i].size);
if (rd != RE_OK)