[Kos-dev] Module helloworld, bochs et qemu

David MENTRE dmentre at linux-france.org
Sat Jan 15 12:23:02 CET 2005


Bonjour à tous,

J'ai réussi à compiler un mini-module helloworld.

Mon soucis : le module est bien chargé (message affiché) sur qemu et
mais pas sur bochs. Pourquoi ?

Le code :
==> _helloworld.c <==
#include <loader/mod.h>
#include <kos/macros.h>
#include "_helloworld.h"

void hello(void)
{
  printk("Hello world !\n");
}

EXPORT_FUNCTION(hello);

==> helloworld.c <==
#include <loader/mod.h>
#include <kos/macros.h>
#include "_helloworld.h"

__init_text static int init_module_level0(kernel_parameter_t *kp)
{
  UNUSED(kp);

  printk("(Init module helloworld...");
  hello();
  printk("Ok)\n");
  return 0;
}

DECLARE_INIT_SYMBOL(init_module_level0, INIT_LEVEL4);

==> _helloworld.h <==
#ifndef ___HELLOWORLD_H
#define ___HELLOWORLD_H


#define printk ktty_printk

void hello(void);

#endif /* ___HELLOWORLD_H */

==> helloworld.h <==
#ifndef __helloworld_H__
#define __helloworld_H__

#endif /* __helloworld_H__ */

==> Makefile <==
OBJS=  helloworld.o _helloworld.o

all: helloworld.ro

helloworld.c: helloworld.h _helloworld.h

_helloworld.c: _helloworld.h

helloworld.ro: $(OBJS)

TOPSRCDIR=../..
include $(TOPSRCDIR)/modules/MkRules



J'ai également ajouté :
                $(MODULES_DIR)/helloworld/helloworld.ro         \
dans MODULES:= de MkVars.

Amicalement,
d.

PS : ktty pourrait pas faire le #define de print_ktty en printk ou
     printf ?
-- 
pub  1024D/A3AD7A2A 2004-10-03 David MENTRE <dmentre at linux-france.org>
 5996 CC46 4612 9CA4 3562  D7AC 6C67 9E96 A3AD 7A2A



More information about the Kos-dev mailing list