summaryrefslogtreecommitdiff
path: root/configfrag.ac
AgeCommit message (Collapse)Author
2015-08-17kern: keep track of the writer when debugging locksJustus Winter
* configfrag.ac (MACH_LDEBUG): Adjust comment, we use it to sanity check all locks now. * kern/lock.c (lock_write): Keep track of the writer thread. (lock_done): Clear writer. (lock_read_to_write): Keep track of the writer thread. (lock_write_to_read): Assert that the current thread holds the lock. Clear writer. (lock_try_write): Keep track of the writer thread. (lock_try_read_to_write): Likewise. (lock_set_recursive): Assert that the current thread holds the lock. * kern/lock.h (struct lock): New field `writer'. (have_read_lock, have_write_lock, have_lock): New macros that can be used to assert that the current thread holds the given lock. If MACH_LDEBUG is not set, they evaluate to true.
2015-07-25Disable the kernel tracing system XPRJustus Winter
* configfrag.ac (XPR_DEBUG): Disable tracing system.
2015-06-30Fix re-configuring out-of-tree buildsJustus Winter
Previously, running `../configure ...' to reconfigure an out-of-tree build would link `machine' to `i386/i386' instead of `../i386/i386' (i.e. point to the build directory instead to the source) if `i386/i386' also exists in the build directory because of a previous build. * configfrag.ac: Prefix machine link target with `$srcdir'.
2011-12-17Import the slab allocatorRichard Braun
As it is intended to completely replace the zone allocator, remove it on the way. So long to the venerable code ! * Makefrag.am (libkernel_a_SOURCES): Add kern/slab.{c,h}, remove kern/kalloc.c and kern/zalloc.{c,h}. * configfrag.ac (SLAB_VERIFY, SLAB_USE_CPU_POOLS): Add defines. * i386/Makefrag.am (libkernel_a_SOURCES): Remove i386/i386/zalloc.h. * i386/configfrag.ac (CPU_L1_SHIFT): Remove define. * include/mach_debug/slab_info.h: New file. * kern/slab.c: Likewise. * kern/slab.h: Likewise. * i386/i386/zalloc.h: Remove file. * include/mach_debug/zone_info.h: Likewise. * kern/kalloc.c: Likewise. * kern/zalloc.c: Likewise. * kern/zalloc.h: Likewise.
2009-06-182007-08-04 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
* configfrag.ac (mach_ncpus): Define to 1. (NCPUS): Set to $mach_ncpus. [$mach_ncpus > 1] (MULTIPROCESSOR): Set to 1. * linux/configfrag.ac [$mach_ncpus > 1] (__SMP__): Define.
2009-06-182007-02-19 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
Add a `--enable-platform' option for future use. Allow building without any Linux code. * Makefile.am: Don't include `linux/Makefrag.am' in there... * Makefrag.am: ... but rather in here. * configfrag.ac (MACH_MACHINE_ROUTINES): AC_DEFINE_UNQUOTED based on then shell variable `mach_machine_routines'. (--disable-default-device-drivers): Don't define in there... * configure.ac: ... but rather in here. (--enable-platform): New option. (host_platform): New variable. (HOST_i386): Don't define there... * i386/configfrag.ac (HOST_ix86): ... but rather here, rename it and adapt all users. (PLATFORM_at): New conditional. (MACH_MACHINE_ROUTINES): Don't AC_DEFINE, but rather set a shell variable `mach_machine_routines'. * linux/Makefrag.am (noinst_LIBRARIES, gnumach_o_LDADD): Only enhance ``if CODE_linux'' or ``if device_driver_group_pcmcia''. * linux/configfrag.ac (AC_OPTION): Rename to `AC_OPTION_Linux_ix86_at' and rework a bit. Adapt all users. (AC_OPTION_nodef): Rename to `AC_OPTION_Linux_ix86_at_nodef' and rework a bit. Adapt all users. (CODE_linux): New conditional. * i386/Makefrag.am (LINKFLAGS_gnumach): Don't evaluate $(systype). * Makefile.am: Update the FSF's postal address. * doc/Makefrag.am: Likewise. * i386/linux/Makefrag.am: Likewise. * linux/Makefrag.am: Likewise. * tests/Makefrag.am: Likewise. * tests/configfrag.ac: Move to GPL.
2009-06-18Update copyright year.Thomas Schwinge
2009-06-182007-02-05 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* configfrag.ac: Enhance comments.
2009-06-182006-12-03 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[patch #5017 --- ``Remove obsolete IPC interfaces.''] * DEVELOPMENT: Document the removal. * configfrag.ac (MACH_IPC_COMPAT): Don't define. 2006-12-03 Leonardo Lopes Pereira <leonardolopespereira@gmail.com> [patch #5017 --- ``Remove obsolete IPC interfaces.''] * kern/act.c [MIGRATING_THREADS]: Don't include <mach_ipc_compat.h>. * kern/act.h: Likewise. * i386/include/mach/i386/machine_types.defs: Adapt all users of MACH_IPC_COMPAT as if it were always defined to `0'. * include/mach/mach.defs: Likewise. * include/mach/mach_param.h: Likewise. * include/mach/mach_traps.h: Likewise. * include/mach/message.h: Likewise. * include/mach/mig_errors.h: Likewise. * include/mach/notify.h: Likewise. * include/mach/port.h: Likewise. * include/mach/std_types.defs: Likewise. * include/mach/syscall_sw.h: Likewise. * include/mach/task_special_ports.h: Likewise. * include/mach/thread_special_ports.h: Likewise. * ipc/ipc_kmsg.c: Likewise. * ipc/ipc_kmsg.h: Likewise. * ipc/ipc_marequest.c: Likewise. * ipc/ipc_notify.c: Likewise. * ipc/ipc_notify.h: Likewise. * ipc/ipc_object.c: Likewise. * ipc/ipc_object.h: Likewise. * ipc/ipc_port.c: Likewise. * ipc/ipc_port.h: Likewise. * ipc/ipc_right.c: Likewise. * ipc/ipc_right.h: Likewise. * ipc/ipc_space.c: Likewise. * ipc/ipc_space.h: Likewise. * ipc/mach_debug.c: Likewise. * ipc/mach_msg.c: Likewise * ipc/mach_msg.h: Likewise. * ipc/mach_port.c: Likewise. * kern/act.c: Likewise. * kern/act.h: Likewise. * kern/ipc_host.c: Likewise. * kern/ipc_tt.c: Likewise. * kern/syscall_sw.c: Likewise. * kern/thread.h: Likewise.
2009-06-182006-11-30 Barry deFreese <bddebian@comcast.net>Thomas Schwinge
Thomas Schwinge <tschwinge@gnu.org> [bug #18015 --- ``GNU Mach: `make dist' and friends''] * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. (EXTRA_DIST): Enhance with the patches and documentation files. (dist-hook): New target to remove the `CVS' directories. * Makefrag.am (libkernel_a_SOURCES, EXTRA_DIST): Add header and `mig' input files. (DISTCHECK_CONFIGURE_FLAGS): Enable the kernel debugger. * i386/Makefrag.am: Likewise. Also add `i386/i386/i386asm.sym', `i386/ldscript' and `i386/README-Drivers'. * i386/linux/Makefrag.am (liblinux_a_SOURCES): Add the header files from `i386/linux/'. * linux/Makefrag.am (liblinux_a_SOURCES, EXTRA_DIST) (liblinux_pcmcia_cs_modules_a_SOURCES) (liblinux_pcmcia_cs_clients_a_SOURCES) (liblinux_pcmcia_cs_wireless_a_SOURCES): Add header and other included files. (dist-hook): Depend on `dist-hook-linux'. (dist-hook-linux): New phony target to remove the `asm' symbolic links. * Makerules.am (EXTRA_DIST): Add `gensym.awk'. * doc/Makefrag.am (EXTRA_DIST): Add `$(mach_TEXINFOS)'. * configure.ac (AC_CONFIG_LINKS): Move instantiation to... * configfrag.ac: ... here and change quotation. * linux/configfrag.ac (AC_CONFIG_LINKS): Change quotation.
2009-06-182006-10-15 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[task #5956 --- ``Automake'ify GNU Mach's code base''] * configfrag.ac: New file. * tests/configfrag.ac: Likewise. * Makerules.am (DEFINES): Convert those into... * configfrag.ac: ... AC_DEFINE instantiations. * i386/Makerules.in (DEFINES): Convert those into... * i386/configfrag.ac: ... AC_DEFINE instantiations. * i386/Makerules.in: Remove file. * i386/configfrag.ac (AC_PREREQ, AC_INIT, AC_CONFIG_SRCDIR) (AC_CONFIG_SUBDIRS, AC_CONFIG_FILES, AC_OUTPUT): Don't invoke. (../version.m4): Don't include. (--disable-lpr): Rework configuration option. (--disable-default-device-drivers): Move configuration option to... * configfrag.ac: ... here. * configure.ac (AC_CONFIG_AUX_DIR, AM_INIT_AUTOMAKE): Instantiate. (AC_PREFIX_DEFAULT, AC_CONFIG_SUBDIRS): Don't invoke. <Output variable `systype'>: Rework the whole section. <Options> (--enable-kdb, --disable-kmsg): Move into `configfrag.ac' and adopt. <Programs> (AM_PROG_AS, AM_PROG_CC_C_O): Instantiate. (AC_CHECK_PROG): Move instantiation searching for a `mbchk' program into `tests/configfrag.ac'. (AC_CHECK_PROG): Instantiate to search for a `patch' program. <configure fragments> (tests/configfrag.ac, configfrag.ac) (linux/configfrag.ac): Include files. (i386/configfrag.ac): Include file if appropriate. (AC_CONFIG_HEADER): Instantiate for `config.h'. (AC_CONFIG_FILES): Remove `Makerules' and `doc/Makefile'. (AC_CONFIG_COMMANDS_POST): Instantiate for `config.status.dep.patch'. (AC_CONFIG_COMMANDS): Instantiate for `Makefile.correct_output_files_for_.S_files.patch' and (the nonexistent) `Makefile.dependency_tracking_for_.S_files.patch'. * Makefile.dependency_tracking_for_.S_files.patch: New file. * config.status.dep.patch: Likewise. * bogus/bootstrap_symbols.h: Remove file. * configfrag.ac: AC_DEFINE `BOOTSTRAP_SYMBOLS' to `0'. * bogus/cpus.h: Remove file. * configfrag.ac: AC_DEFINE `NCPUS' to `1'. AH_TEMPLATE `MULTIPROCESSOR'. * bogus/fast_tas.h: Remove file. * configfrag.ac: AC_DEFINE `FAST_TAS' to `0'. * bogus/hw_footprint.h: Remove file. * configfrag.ac: AC_DEFINE `HW_FOOTPRINT' to `0'. * bogus/mach_counters.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_COUNTERS' to `0'. * bogus/mach_debug.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_DEBUG' to `1'. * bogus/mach_fixpri.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_FIXPRI' to `1'. * bogus/mach_host.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_HOST' to `0'. * bogus/mach_ipc_compat.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_IPC_COMPAT' to `1'. * bogus/mach_ipc_debug.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_IPC_DEBUG' to `1'. * bogus/mach_ipc_test.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_IPC_TEST' to `0'. * bogus/mach_kdb.h: Remove file. * configfrag.ac (--disable-kdb): AC_DEFINE `MACH_KDB' to `0'. * bogus/mach_ldebug.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_LDEBUG' to `0'. * bogus/mach_lock_mon.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_LOCK_MON' to `0'. * bogus/mach_machine_routines.h: Remove file. * configfrag.ac: Add comment about not AC_DEFINEing `MACH_MACHINE_ROUTINES' to `0'. * bogus/mach_mp_debug.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_MP_DEBUG' to `0'. * bogus/mach_pagemap.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_PAGEMAP' to `1'. * bogus/mach_pcsample.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_PCSAMPLE' to `1'. * bogus/mach_ttd.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_TTD' to `0'. * bogus/mach_vm_debug.h: Remove file. * configfrag.ac: AC_DEFINE `MACH_VM_DEBUG' to `1'. * bogus/power_save.h: Remove file. * configfrag.ac: AC_DEFINE `POWER_SAVE' to `1'. * bogus/simple_clock.h: Remove file. * configfrag.ac: AC_DEFINE `SIMPLE_CLOCK' to `0'. * bogus/stat_time.h: Remove file. * configfrag.ac: AC_DEFINE `STAT_TIME' to `1'. * bogus/xpr_debug.h: Remove file. * configfrag.ac: AC_DEFINE `XPR_DEBUG' to `1'. * i386/bogus/com.h: Remove file. * i386/configfrag.ac: AC_DEFINE `NCOM' to `4'. * i386/bogus/fpe.h: Remove file. * i386/configfrag.ac: AC_DEFINE `FPE' to `0'. * i386/bogus/lpr.h: Remove file. * i386/configfrag.ac: AC_DEFINE `NLPR' to `1'. * i386/bogus/mach_machine_routines.h: Remove file. * i386/configfrag.ac: AC_DEFINE `MACH_MACHINE_ROUTINES' to `1'. * i386/bogus/platforms.h: Remove file. * i386/configfrag.ac: AC_DEFINE `AT386' to `1'. * i386/bogus/rc.h: Remove file. * i386/configfrag.ac: AC_DEFINE `RCLINE' to `-1' and `RCADDR' to `0x3f8'.