[Kos-cvs] kos CREDITS, 1.3, 1.4 ChangeLog, 1.42, 1.43 MkVars, 1.109, 1.110 TODO, 1.98, 1.99

thomas at kos.enix.org thomas at kos.enix.org
Tue Dec 28 19:44:11 CET 2004


Update of /var/cvs/kos/kos
In directory the-doors:/tmp/cvs-serv10813

Modified Files:
	CREDITS ChangeLog MkVars TODO 
Log Message:
2004-12-28  Thomas Petazzoni  <thomas at crazy.kos.nx>

	* modules/x86/task/task.c: Try to restrict access to exported
	symbol.

	* modules/x86/task/_thread_cpu_context.c: Move to the new PMM
	system.

	* modules/x86/task/Makefile (all): arch_task.ro instead of
	arch-task.ro.

	* modules/x86/mm/_team_mm_context.c: More informations.

	* modules/x86/mm/_mm.h, modules/x86/mm/mm.c, modules/x86/mm/_rmap.c,
	modules/x86/mm/_vmap.c: The new VMAP/RMAP system. We also make
	sure access to all exported function is restricted to the VMM
	module. 

	* modules/x86/mm/Makefile (all): arch_mm.ro instead of
	arch-mm.ro. 

	* modules/x86/lib/Makefile (all): Rename to arch_lib.ro instead of
	arch-lib.ro. 

	* modules/x86/internals.h: More definitions on the address space
	configuration. 

	* modules/vmm/vmm.h (struct address_space): Add a mutex and a
	spinlock to protect address space.

	* modules/vmm/vmm.c: Restrict access to some exported
	functions. More work has to be done in this area.

	* modules/vmm/_vmm_map.c: Part of the new vmap system.

	* modules/vmm/_vmm_as.c: Make the appropriate lock/unlock on the
	address space mutex. It's just a first try. More reflexion has to
	be made.

	* modules/task/task.h: Make sure DOXYGEN doesn't try to analyze
	the #if stuff, because it doesn't like it.

	* modules/task/_task_utils.c (show_all_thread_info): If team is
	NULL, it means that we want to display the threads of all teams.

	* modules/scheduler/synchq.h: Avoid inclusion of task.h.

	* modules/pmm/pmm.c: New PMM system.

	* modules/pmm/_pmm_put_page.c: New PMM system.

	* modules/pmm/_pmm_init.c: New PMM system.

	* modules/pmm/_pmm_get_page.c: New PMM system.

	* modules/pmm/_pmm_get_at_addr.c: New PMM system.

	* modules/pmm/_pmm.h: struct gpfme is now private.

	* modules/pmm/pmm.h: struct gpfme is now private (migrated to
	_pmm.h). 

	* modules/pmm/Makefile (OBJS): New PMM system, with fewer
	functionnalities. 

	* modules/kos/spinlock.h: New type spinlock_flags_t, that should
	be used instead of k_ui32_t for spinlock flags.

	* modules/kmem/_kvmem_utils.c: Migration to the new PMM
	system and various cleanups.

	* modules/kmem/_kvmem_init.c: Migration to the new PMM
	system and various cleanups.

	* modules/kmem/_kslab_cache_grow.c: Migration to the new PMM
	system and various cleanups.

	* modules/kmem/_kslab_cache_free.c: Migration to the new PMM
	system, and various cleanups.

	* modules/kitc/_kmutex.c: DEBUG_PRINT3 calls to show mutex
	lock/unlock/trylock.

	* modules/init/_init_modules.c (init_modules): A message is
	displayed when initializating modules.

	* modules/ide/_ide.c: Various cleanups.

	* modules/fs/fat/_fat.c: Various cleanups.

	* modules/fs/devfs/devfs.c: Various cleanups, including whitespace
	cleanification.

	* modules/debug/debug.h: Add the DEBUG_PRINT1, DEBUG_PRINT2,
	DEBUG_PRINT3 macros. Maybe there's a cleaner way to do it. David ?

	* modules/debug/debug.c (init_module_level0): Init the
	backtracking stuff a little later so that we have debugging
	messages during this initialization.

	* modules/debug/bt.c (_init_backtracing_stuff): bt_next is not
	anymore a valid candidate to determine if fomit-frame-pointer was
	selected or not, because of gcc optimizations. We use bt_init
	instead.

	* modules/Makefile (doc): Add a target that generates the doxygen
	documentation. 

	* loader/mod.h (EXPORT_FUNCTION_RESTRICTED): Change the symbol
	names generated by the macros, so that they include the name of
	the target module (the one allowed to import the exported
	symbol). This is needed in order to export the same symbol to
	multiple modules. Previously, the RESTRICTED system generated
	symbols that were identical for a given symbol exported to
	multiple modules.

	* doc/testingfr.tex: A big update to this documentation. Not
	finished. The english version should also be updated.

	* TODO: Some new things to do.

	* MkVars (CFLAGS): Pass the DEBUG_LEVEL Makefile variable to the C
	files. In each modules/.../Makefile, we can set a
	DEBUG_LEVEL=value that will set the level of verbosity of the
	module. Macros named DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3 have
	been added.
	(MODULES): Change all '-' to '_', because of the new
	EXPORT_FUNCTION_RESTRICTED system. This system creates symbol that
	contains the name of a module (the one allowed to import the
	exported symbol). But the '-' character is not allowed inside C
	identifiers. So, we use '_' instead.

	* CREDITS: Add Fabrice Bellard to the CREDITS, for his Qemu
	emulator.



Index: MkVars
===================================================================
RCS file: /var/cvs/kos/kos/MkVars,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- MkVars	27 Dec 2004 22:01:04 -0000	1.109
+++ MkVars	28 Dec 2004 18:44:08 -0000	1.110
@@ -48,7 +48,7 @@
 CFLAGS += -ffreestanding -W -Wundef -Wshadow -Wpointer-arith		\
           -Wcast-align -Wsign-compare					\
 	  -Waggregate-return -Wmissing-prototypes -Wredundant-decls	\
-          -Wnested-externs 
+          -Wnested-externs -DDEBUG_LEVEL=$(DEBUG_LEVEL)
 #          -fomit-frame-pointer #Don't use this unless you don't want backtrace
 CXXFLAGS += -Wall -O2 -Woverloaded-virtual -Wsynth -nostdinc++ -fno-rtti -fno-exceptions
 
@@ -86,7 +86,7 @@
 		$(MODULES_DIR)/lib/filemap/libfilemap.ro	\
                 $(MODULES_DIR)/init/init.ro			\
 		$(MODULES_DIR)/debug/debug.ro			\
-		$(MODULES_DIR)/arch/lib/arch-lib.ro		\
+		$(MODULES_DIR)/arch/lib/arch_lib.ro		\
 		$(MODULES_DIR)/console/console.ro		\
 		$(MODULES_DIR)/tty/tty.ro			\
 		$(MODULES_DIR)/pmm/pmm.ro			\
@@ -97,12 +97,12 @@
 		$(MODULES_DIR)/fs/fakefs/fakefs.ro		\
 		$(MODULES_DIR)/fs/devfs/devfs.ro		\
 		$(MODULES_DIR)/fs/fat/fat.ro			\
-		$(MODULES_DIR)/arch/mm/arch-mm.ro		\
+		$(MODULES_DIR)/arch/mm/arch_mm.ro		\
 		$(MODULES_DIR)/kitc/kitc.ro			\
 		$(MODULES_DIR)/idt/idt.ro			\
 		$(MODULES_DIR)/vmm/vmm.ro			\
 		$(MODULES_DIR)/task/task.ro			\
-		$(MODULES_DIR)/arch/task/arch-task.ro		\
+		$(MODULES_DIR)/arch/task/arch_task.ro		\
 		$(MODULES_DIR)/scheduler/sched.ro		\
 		$(MODULES_DIR)/kgc/kgc.ro			\
 		$(MODULES_DIR)/kbs/kbs.ro			\

Index: CREDITS
===================================================================
RCS file: /var/cvs/kos/kos/CREDITS,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- CREDITS	15 Apr 2002 09:47:25 -0000	1.3
+++ CREDITS	28 Dec 2004 18:44:08 -0000	1.4
@@ -10,6 +10,7 @@
   - J. Bonwick                         (slab allocactor principles)
   - R. Sedgewick and D. Sleator        (some data structure and algorithms)
   - The Bochs team (+Plex86)           (thanks, thanks. What else ?... thanks)
+  - Fabrice Bellard                    (the qemu emulator)
   - Linux and FreeBSD kernels          (little OSes that may have some future)
   - The GNU GRUB/Etherboot team        (... and booting an OS becomes easy)
   - The GNU/Linux community            (cvs, make, gcc, binutils, emacs, ...)

Index: TODO
===================================================================
RCS file: /var/cvs/kos/kos/TODO,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -d -r1.98 -r1.99
--- TODO	21 Dec 2003 15:23:33 -0000	1.98
+++ TODO	28 Dec 2004 18:44:08 -0000	1.99
@@ -1,6 +1,13 @@
                      K O S : Kid Operating System
                          http://kos.enix.org
 
+[thomas]
+- Virer la référence à update_system_tss dans le module
+  scheduler. Peut être une fonction intermédiaire dans task ?
+- Dans unmap_ures, que faire quand on a un shrink donnant lieu à une
+  allocation de mémoire et que celle-ci échoue ?
+- Virer la macro DEBUG_PRINT, et utiliser DEBUG_PRINT1,2,3 à la place
+
 [d2]
 - Rajouter un test dans cpl0_switch pour ne pas faire le
   switch_internal si les 2 contextes sont identiques => modif proto
@@ -118,6 +125,7 @@
   mémoire).
 
 [IDT]
+- Déplacer ce qui est x86-specific dans arch
 - handler dsr qui traite des files de jobs (comme les dst, ie unicite
   system-wide de chaque job execute)
 - reschedule sous la forme d'un DSR (le moins prioritaire).

Index: ChangeLog
===================================================================
RCS file: /var/cvs/kos/kos/ChangeLog,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- ChangeLog	28 Dec 2004 12:18:11 -0000	1.42
+++ ChangeLog	28 Dec 2004 18:44:08 -0000	1.43
@@ -1,5 +1,140 @@
 2004-12-28  Thomas Petazzoni  <thomas at crazy.kos.nx>
 
+	* modules/x86/task/task.c: Try to restrict access to exported
+	symbol.
+
+	* modules/x86/task/_thread_cpu_context.c: Move to the new PMM
+	system.
+
+	* modules/x86/task/Makefile (all): arch_task.ro instead of
+	arch-task.ro.
+
+	* modules/x86/mm/_team_mm_context.c: More informations.
+
+	* modules/x86/mm/_mm.h, modules/x86/mm/mm.c, modules/x86/mm/_rmap.c,
+	modules/x86/mm/_vmap.c: The new VMAP/RMAP system. We also make
+	sure access to all exported function is restricted to the VMM
+	module. 
+
+	* modules/x86/mm/Makefile (all): arch_mm.ro instead of
+	arch-mm.ro. 
+
+	* modules/x86/lib/Makefile (all): Rename to arch_lib.ro instead of
+	arch-lib.ro. 
+
+	* modules/x86/internals.h: More definitions on the address space
+	configuration. 
+
+	* modules/vmm/vmm.h (struct address_space): Add a mutex and a
+	spinlock to protect address space.
+
+	* modules/vmm/vmm.c: Restrict access to some exported
+	functions. More work has to be done in this area.
+
+	* modules/vmm/_vmm_map.c: Part of the new vmap system.
+
+	* modules/vmm/_vmm_as.c: Make the appropriate lock/unlock on the
+	address space mutex. It's just a first try. More reflexion has to
+	be made.
+
+	* modules/task/task.h: Make sure DOXYGEN doesn't try to analyze
+	the #if stuff, because it doesn't like it.
+
+	* modules/task/_task_utils.c (show_all_thread_info): If team is
+	NULL, it means that we want to display the threads of all teams.
+
+	* modules/scheduler/synchq.h: Avoid inclusion of task.h.
+
+	* modules/pmm/pmm.c: New PMM system.
+
+	* modules/pmm/_pmm_put_page.c: New PMM system.
+
+	* modules/pmm/_pmm_init.c: New PMM system.
+
+	* modules/pmm/_pmm_get_page.c: New PMM system.
+
+	* modules/pmm/_pmm_get_at_addr.c: New PMM system.
+
+	* modules/pmm/_pmm.h: struct gpfme is now private.
+
+	* modules/pmm/pmm.h: struct gpfme is now private (migrated to
+	_pmm.h). 
+
+	* modules/pmm/Makefile (OBJS): New PMM system, with fewer
+	functionnalities. 
+
+	* modules/kos/spinlock.h: New type spinlock_flags_t, that should
+	be used instead of k_ui32_t for spinlock flags.
+
+	* modules/kmem/_kvmem_utils.c: Migration to the new PMM
+	system and various cleanups.
+
+	* modules/kmem/_kvmem_init.c: Migration to the new PMM
+	system and various cleanups.
+
+	* modules/kmem/_kslab_cache_grow.c: Migration to the new PMM
+	system and various cleanups.
+
+	* modules/kmem/_kslab_cache_free.c: Migration to the new PMM
+	system, and various cleanups.
+
+	* modules/kitc/_kmutex.c: DEBUG_PRINT3 calls to show mutex
+	lock/unlock/trylock.
+
+	* modules/init/_init_modules.c (init_modules): A message is
+	displayed when initializating modules.
+
+	* modules/ide/_ide.c: Various cleanups.
+
+	* modules/fs/fat/_fat.c: Various cleanups.
+
+	* modules/fs/devfs/devfs.c: Various cleanups, including whitespace
+	cleanification.
+
+	* modules/debug/debug.h: Add the DEBUG_PRINT1, DEBUG_PRINT2,
+	DEBUG_PRINT3 macros. Maybe there's a cleaner way to do it. David ?
+
+	* modules/debug/debug.c (init_module_level0): Init the
+	backtracking stuff a little later so that we have debugging
+	messages during this initialization.
+
+	* modules/debug/bt.c (_init_backtracing_stuff): bt_next is not
+	anymore a valid candidate to determine if fomit-frame-pointer was
+	selected or not, because of gcc optimizations. We use bt_init
+	instead.
+
+	* modules/Makefile (doc): Add a target that generates the doxygen
+	documentation. 
+
+	* loader/mod.h (EXPORT_FUNCTION_RESTRICTED): Change the symbol
+	names generated by the macros, so that they include the name of
+	the target module (the one allowed to import the exported
+	symbol). This is needed in order to export the same symbol to
+	multiple modules. Previously, the RESTRICTED system generated
+	symbols that were identical for a given symbol exported to
+	multiple modules.
+
+	* doc/testingfr.tex: A big update to this documentation. Not
+	finished. The english version should also be updated.
+
+	* TODO: Some new things to do.
+
+	* MkVars (CFLAGS): Pass the DEBUG_LEVEL Makefile variable to the C
+	files. In each modules/.../Makefile, we can set a
+	DEBUG_LEVEL=value that will set the level of verbosity of the
+	module. Macros named DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3 have
+	been added.
+	(MODULES): Change all '-' to '_', because of the new
+	EXPORT_FUNCTION_RESTRICTED system. This system creates symbol that
+	contains the name of a module (the one allowed to import the
+	exported symbol). But the '-' character is not allowed inside C
+	identifiers. So, we use '_' instead.
+
+	* CREDITS: Add Fabrice Bellard to the CREDITS, for his Qemu
+	emulator.
+
+2004-12-28  Thomas Petazzoni  <thomas at crazy.kos.nx>
+
 	* HACKER: English version + link to the documentation.
 
 2004-12-27  Thomas Petazzoni  <thomas at crazy.kos.nx>



More information about the Kos-cvs mailing list