mirror of
https://github.com/drasko/codezero.git
synced 2026-02-28 01:33:13 +01:00
Changes in merged posix pager mm0 initialization.
- Moved rootfs from being embedded to mm0 image to being an independent image. - MM0 boots up to start_init_process with updated boot convention.
This commit is contained in:
@@ -15,7 +15,8 @@ struct bootdesc {
|
||||
struct svc_image images[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
struct initdata;
|
||||
void read_bootdesc(struct initdata *initdata);
|
||||
|
||||
void read_boot_params();
|
||||
struct svc_image *bootdesc_get_image_byname(char *);
|
||||
|
||||
#endif /* __BOOTDESC_H__ */
|
||||
|
||||
@@ -38,7 +38,7 @@ struct capability {
|
||||
extern struct cap_list capability_list;
|
||||
|
||||
struct initdata;
|
||||
int read_kernel_capabilities(struct initdata *);
|
||||
void copy_boot_capabilities(struct initdata *initdata);
|
||||
int read_pager_capabilities();
|
||||
void copy_boot_capabilities();
|
||||
|
||||
#endif /* __MM0_CAPABILITY_H__ */
|
||||
|
||||
@@ -29,7 +29,7 @@ struct initdata {
|
||||
|
||||
extern struct initdata initdata;
|
||||
|
||||
void init_pager(void);
|
||||
void init(void);
|
||||
|
||||
/* TODO: Remove this stuff from here. */
|
||||
int init_devzero(void);
|
||||
|
||||
@@ -31,13 +31,7 @@ SECTIONS
|
||||
/* rodata is needed else your strings will link at physical! */
|
||||
.rodata : AT (ADDR(.rodata) - pager_offset) { *(.rodata) }
|
||||
.rodata1 : AT (ADDR(.rodata1) - pager_offset) { *(.rodata1) }
|
||||
.data : AT (ADDR(.data) - pager_offset)
|
||||
{
|
||||
*(.data)
|
||||
_start_bdev = .;
|
||||
*(.data.memfs)
|
||||
_end_bdev = .;
|
||||
}
|
||||
.data : AT (ADDR(.data) - pager_offset) { *(.data) }
|
||||
.bss : AT (ADDR(.bss) - pager_offset) { *(.bss) }
|
||||
. = ALIGN(4K);
|
||||
. += 0x2000; /* BSS doesnt increment link counter??? */
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
void init_mm_descriptors(struct page_bitmap *page_map,
|
||||
struct bootdesc *bootdesc, struct membank *membank);
|
||||
void init_physmem(struct initdata *initdata, struct membank *membank);
|
||||
void init_physmem(void);
|
||||
|
||||
int pager_address_pool_init(void);
|
||||
void *pager_new_address(int npages);
|
||||
|
||||
@@ -31,15 +31,13 @@ struct membank {
|
||||
extern struct membank membank[];
|
||||
|
||||
/* Describes bitmap of used/unused state for all physical pages */
|
||||
extern struct page_bitmap page_map;
|
||||
extern struct memdesc physmem;
|
||||
|
||||
/* Sets the global page map as used/unused. Aligns input when needed. */
|
||||
int set_page_map(struct page_bitmap *pmap, unsigned long start,
|
||||
int numpages, int val);
|
||||
|
||||
struct initdata;
|
||||
void init_physmem_primary(struct initdata *initdata);
|
||||
void init_physmem_secondary(struct initdata *initdata, struct membank *membank);
|
||||
void init_physmem_primary();
|
||||
void init_physmem_secondary(struct membank *membank);
|
||||
|
||||
#endif /* __PAGER_PHYSMEM_H__ */
|
||||
|
||||
@@ -87,4 +87,6 @@ struct vnode *generic_vnode_lookup(struct vnode *thisnode, struct pathdata *p,
|
||||
struct vnode *vfs_lookup_bypath(struct pathdata *p);
|
||||
struct vnode *vfs_lookup_byvnum(struct superblock *sb, unsigned long vnum);
|
||||
|
||||
int vfs_init(void);
|
||||
|
||||
#endif /* __VFS_H__ */
|
||||
|
||||
Reference in New Issue
Block a user