Subversion Repositories HelenOS

Rev

Rev 3984 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3984 Rev 4015
Line 24... Line 24...
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 */
27
 */
28
 
28
 
29
/** @addtogroup ia32   
29
/** @addtogroup ia32
30
 * @{
30
 * @{
31
 */
31
 */
32
/** @file
32
/** @file
33
 */
33
 */
34
 
34
 
35
#ifndef KERN_ia32_CBOOT_H__
35
#ifndef KERN_ia32_MULTIBOOT_H__
36
#define KERN_ia32_CBOOT_H_
36
#define KERN_ia32_MULTIBOOT_H_
37
 
37
 
38
#include <arch/types.h>
38
#include <arch/types.h>
39
#include <arch/boot/memmap.h>
39
#include <arch/boot/memmap.h>
40
 
40
 
41
/** Multiboot mod structure */
41
/** Multiboot mod structure */
Line 55... Line 55...
55
/** Multiboot information structure */
55
/** Multiboot information structure */
56
typedef struct {
56
typedef struct {
57
    uint32_t flags;
57
    uint32_t flags;
58
    uintptr_t mem_lower;
58
    uintptr_t mem_lower;
59
    uintptr_t mem_upper;
59
    uintptr_t mem_upper;
60
 
60
   
61
    uint32_t boot_device;
61
    uint32_t boot_device;
62
    char *cmdline;
62
    char *cmdline;
63
 
63
   
64
    uint32_t mods_count;
64
    uint32_t mods_count;
65
    mb_mod_t *mods_addr;
65
    mb_mod_t *mods_addr;
66
 
66
   
67
    uint32_t syms[4];
67
    uint32_t syms[4];
68
 
68
   
69
    uint32_t mmap_length;
69
    uint32_t mmap_length;
70
    mb_mmap_t *mmap_addr;
70
    mb_mmap_t *mmap_addr;
71
 
71
   
72
    /* ... */
72
    /* ... */
73
} __attribute__ ((packed)) mb_info_t;
73
} __attribute__ ((packed)) mb_info_t;
74
 
74
 
75
enum mb_info_flags {
75
enum mb_info_flags {
76
    MBINFO_FLAGS_MEM    = 0x01,
76
    MBINFO_FLAGS_MEM     = 0x01,
77
    MBINFO_FLAGS_BOOT   = 0x02,
77
    MBINFO_FLAGS_BOOT    = 0x02,
78
    MBINFO_FLAGS_CMDLINE    = 0x04,
78
    MBINFO_FLAGS_CMDLINE = 0x04,
79
    MBINFO_FLAGS_MODS   = 0x08,
79
    MBINFO_FLAGS_MODS    = 0x08,
80
    MBINFO_FLAGS_SYMS1  = 0x10,
80
    MBINFO_FLAGS_SYMS1   = 0x10,
81
    MBINFO_FLAGS_SYMS2  = 0x20,
81
    MBINFO_FLAGS_SYMS2   = 0x20,
82
    MBINFO_FLAGS_MMAP   = 0x40
82
    MBINFO_FLAGS_MMAP    = 0x40
-
 
83
   
83
    /* ... */
84
    /* ... */
84
};
85
};
85
 
86
 
86
extern void ia32_cboot(uint32_t signature, const mb_info_t *mi);
-
 
87
 
-
 
88
#endif
87
#endif
89
 
88
 
90
/** @}
89
/** @}
91
 */
90
 */