summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
2011-08-31Add silent rules support if available and disable it by defaultGuillem Jover
* configure.ac (AM_SILENT_RULES): Add silent rules support if available, and disable it by default. * Makefile.am (AWK_V, AWK_V_, AWK_V_0): New variables. (NM_V, NM_V_, NM_V_0): Likewise. (GZIP_V, GZIP_V_, GZIP_V_0): Likewise. (MIGCOM_V, MIGCOM_V_, MIGCOM_V_0): Likewise. (gnumach-undef): Use NM_V in front of NM. (gnumach-undef-bad): Use AM_V_GEN in front of sed. (clib-routines.o): Use AM_V_at in fron of undefined symbols check. Use AM_V_CCLD in front of CCLD. * Makefrag.am (gnumach.msgids): Use AM_V_GEN in front of cat. * Makerules.am (%.symc): Use AWK_V in front of AWK. (%.symc.o): Use AM_V_CC in front of COMPILE. (%.h): Use AM_V_GEN in front of sed. (%.gz): Use GZIP_V in front of GZIP. * Makerules.mig.am (%.user.defs.c): Use AM_V_GEN in front of command. (%.server.defs.c): Likewise. (%.user.h %.user.c %.user.msgids): Use MIGCOM_V in front of MIGCOM. (%.server.h %.server.c %.server.msgids): Likewise.
2011-08-27* Makefile.am (AM_CFLAGS): Add -fno-builtin-log.Samuel Thibault
2011-08-27Do not take obsolete and unused bcopy and bzero from libcGuillem Jover
* Makefile.am (clib_routines): Remove bcopy and bzero.
2010-09-14Fix ifunc entriesSamuel Thibault
* i386/ldscript: Update to the version from binutils 2.20.51.20100617. Remove SEARCH_DIR calls. * Makefile.am (clib_routines): Accept undefined __rel_iplt_start and __rel_iplt_end as these come from the ldscript. * i386/i386at/boothdr.S (boot_entry): Call ifunc hooks at boot. * i386/xen/xen_boothdr.S (start): Likewise.
2010-08-27Fix "make dist"Guillem Jover
* Makefile.am (EXTRA_DIST): Remove ChangeLog.0, ChangeLog.00 and Makefile.correct_output_files_for_.S_files.patch. * Makefrag.am (libkernel_a_SOURCES): Add ipc/mach_port.h, kern/ipc_mig.h, kern/machine.h, util/putchar.h, util/atoi.h, vm/vm_resident.h, vm/vm_types.h and device/subrs.h. Remove kern/time_out.h. * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/autoconf.h, i386/i386at/com.h, i386/i386at/int_init.h, i386/i386/loose_ends.h, i386/i386/model_dep.h, i386/intel/read_fault.h and i386/i386/xen.h. Remove i386/i386/timer.h. * linux/Makefrag.am (liblinux_a_SOURCES): Add linux/src/drivers/net/sis900.h. * xen/Makefrag.am (libkernel_a_SOURCES): Add xen/public/arch-x86_32.h xen/public/arch-x86_64.h, xen/public/arch-x86/xen.h, xen/public/arch-x86/xen-mca.h, xen/public/arch-x86/xen-x86_32.h, xen/public/arch-x86/xen-x86_64.h, xen/public/callback.h, xen/public/COPYING, xen/public/dom0_ops.h, xen/public/domctl.h, xen/public/elfnote.h, xen/public/elfstructs.h, xen/public/event_channel.h, xen/public/features.h, xen/public/grant_table.h, xen/public/io/blkif.h, xen/public/io/console.h, xen/public/io/fbif.h, xen/public/io/fsif.h, xen/public/io/kbdif.h, xen/public/io/netif.h, xen/public/io/pciif.h, xen/public/io/protocols.h, xen/public/io/ring.h, xen/public/io/tpmif.h, xen/public/io/xenbus.h, xen/public/io/xs_wire.h, xen/public/kexec.h, xen/public/libelf.h, xen/public/memory.h, xen/public/nmi.h, xen/public/physdev.h, xen/public/platform.h, xen/public/sched.h, xen/public/sysctl.h, xen/public/trace.h, xen/public/vcpu.h, xen/public/version.h, xen/public/xencomm.h, xen/public/xen-compat.h, xen/public/xen.h, xen/public/xenoprof.h, xen/block.h, xen/console.h, xen/evt.h, xen/grant.h, xen/net.h, xen/ring.h, xen/store.h, xen/time.h and xen/xen.h.
2009-12-16Add Xen supportSamuel Thibault
2009-03-11 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386/vm_param.h (VM_MIN_KERNEL_ADDRESS) [MACH_XEN]: Set to 0x20000000. * i386/i386/i386asm.sym (pfn_list) [VM_MIN_KERNEL_ADDRESS == LINEAR_MIN_KERNEL_ADDRESS]: Define to constant PFN_LIST. 2009-02-27 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/intel/pmap.c [MACH_HYP] (INVALIDATE_TLB): Call hyp_invlpg instead of flush_tlb when e - s is compile-time known to be PAGE_SIZE. 2008-11-27 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/configfrag.ac (enable_pae): Enable by default on the Xen platform. 2007-11-14 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386at/model_dep.c (machine_relax): New function. (c_boot_entry): Refuse to boot as dom0. 2007-10-17 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386/fpu.c [MACH_XEN]: Disable unused fpintr(). 2007-08-12 Samuel Thibault <samuel.thibault@ens-lyon.org> * Makefile.am (clib_routines): Add _START. * i386/xen/xen_boothdr: Use _START for VIRT_BASE and PADDR_OFFSET. Add GUEST_VERSION and XEN_ELFNOTE_FEATURES. 2007-06-13 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386/user_ldt.h (user_ldt) [MACH_XEN]: Add alloc field. * i386/i386/user_ldt.c (i386_set_ldt) [MACH_XEN]: Round allocation of LDT to a page, set back LDT pages read/write before freeing them. (user_ldt_free) [MACH_XEN]: Likewise. 2007-04-18 Samuel Thibault <samuel.thibault@ens-lyon.org> * device/ds_routines.c [MACH_HYP]: Add hypervisor block and net devices. 2007-02-19 Thomas Schwinge <tschwinge@gnu.org> * i386/xen/Makefrag.am [PLATFORM_xen] (gnumach_LINKFLAGS): Define. * Makefrag.am: Include `xen/Makefrag.am'. * configure.ac: Include `xen/configfrag.ac'. (--enable-platform): Support the `xen' platform. * i386/configfrag.ac: Likewise. * i386/Makefrag.am [PLATFORM_xen]: Include `i386/xen/Makefrag.am'. 2007-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org> Thomas Schwinge <tschwinge@gnu.org> * i386/xen/Makefrag.am: New file. * xen/Makefrag.am: Likewise. * xen/configfrag.ac: Likewise. 2007-02-11 (and later dates) Samuel Thibault <samuel.thibault@ens-lyon.org> Xen support * Makefile.am (clib_routines): Add _start. * Makefrag.am (include_mach_HEADERS): Add include/mach/xen.h. * device/cons.c (cnputc): Call hyp_console_write. * i386/Makefrag.am (libkernel_a_SOURCES): Move non-Xen source to [PLATFORM_at]. * i386/i386/debug_trace.S: Include <i386/xen.h> * i386/i386/fpu.c [MACH_HYP] (init_fpu): Call set_ts() and clear_ts(), do not enable CR0_EM. * i386/i386/gdt.c: Include <mach/xen.h> and <intel/pmap.h>. [MACH_XEN]: Make gdt array extern. [MACH_XEN] (gdt_init): Register gdt with hypervisor. Request 4gb segments assist. Shift la_shift. [MACH_PSEUDO_PHYS] (gdt_init): Shift pfn_list. * i386/i386/gdt.h [MACH_XEN]: Don't define KERNEL_LDT and LINEAR_DS. * i386/i386/i386asm.sym: Include <i386/xen.h>. [MACH_XEN]: Remove KERNEL_LDT, Add shared_info's CPU_CLI, CPU_PENDING, CPU_PENDING_SEL, PENDING, EVTMASK and CR2. * i386/i386/idt.c [MACH_HYP] (idt_init): Register trap table with hypervisor. * i386/i386/idt_inittab.S: Include <i386/i386asm.h>. [MACH_XEN]: Set IDT_ENTRY() for hypervisor. Set trap table terminator. * i386/i386/ktss.c [MACH_XEN] (ktss_init): Request exception task switch from hypervisor. * i386/i386/ldt.c: Include <mach/xen.h> and <intel/pmap.h> [MACH_XEN]: Make ldt array extern. [MACH_XEN] (ldt_init): Set ldt readwrite. [MACH_HYP] (ldt_init): Register ldt with hypervisor. * i386/i386/locore.S: Include <i386/xen.h>. Handle KERNEL_RING == 1 case. [MACH_XEN]: Read hyp_shared_info's CR2 instead of %cr2. [MACH_PSEUDO_PHYS]: Add mfn_to_pfn computation. [MACH_HYP]: Drop Cyrix I/O-based detection. Read cr3 instead of %cr3. Make hypervisor call for pte invalidation. * i386/i386/mp_desc.c: Include <mach/xen.h>. [MACH_HYP] (mp_desc_init): Panic. * i386/i386/pcb.c: Include <mach/xen.h>. [MACH_XEN] (switch_ktss): Request stack switch from hypervisor. [MACH_HYP] (switch_ktss): Request ldt and gdt switch from hypervisor. * i386/i386/phys.c: Include <mach/xen.h> [MACH_PSEUDO_PHYS] (kvtophys): Do page translation. * i386/i386/proc_reg.h [MACH_HYP] (cr3): New declaration. (set_cr3, get_cr3, set_ts, clear_ts): Implement macros. * i386/i386/seg.h [MACH_HYP]: Define KERNEL_RING macro. Include <mach/xen.h> [MACH_XEN] (fill_descriptor): Register descriptor with hypervisor. * i386/i386/spl.S: Include <i386/xen.h> and <i386/i386/asm.h> [MACH_XEN] (pic_mask): #define to int_mask. [MACH_XEN] (SETMASK): Implement. * i386/i386/vm_param.h [MACH_XEN] (HYP_VIRT_START): New macro. [MACH_XEN]: Set VM_MAX_KERNEL_ADDRESS to HYP_VIRT_START- LINEAR_MIN_KERNEL_ADDRESS + VM_MIN_KERNEL_ADDRESS. Increase KERNEL_STACK_SIZE and INTSTACK_SIZE to 4 pages. * i386/i386at/conf.c [MACH_HYP]: Remove hardware devices, add hypervisor console device. * i386/i386at/cons_conf.c [MACH_HYP]: Add hypervisor console device. * i386/i386at/model_dep.c: Include <sys/types.h>, <mach/xen.h>. [MACH_XEN] Include <xen/console.h>, <xen/store.h>, <xen/evt.h>, <xen/xen.h>. [MACH_PSEUDO_PHYS]: New boot_info, mfn_list, pfn_list variables. [MACH_XEN]: New la_shift variable. [MACH_HYP] (avail_next, mem_size_init): Drop BIOS skipping mecanism. [MACH_HYP] (machine_init): Call hyp_init(), drop hardware initialization. [MACH_HYP] (machine_idle): Call hyp_idle(). [MACH_HYP] (halt_cpu): Call hyp_halt(). [MACH_HYP] (halt_all_cpus): Call hyp_reboot() or hyp_halt(). [MACH_HYP] (i386at_init): Initialize with hypervisor. [MACH_XEN] (c_boot_entry): Add Xen-specific initialization. [MACH_HYP] (init_alloc_aligned, pmap_valid_page): Drop zones skipping mecanism. * i386/intel/pmap.c: Include <mach/xen.h>. [MACH_PSEUDO_PHYS] (WRITE_PTE): Do page translation. [MACH_HYP] (INVALIDATE_TLB): Request invalidation from hypervisor. [MACH_XEN] (pmap_map_bd, pmap_create, pmap_destroy, pmap_remove_range) (pmap_page_protect, pmap_protect, pmap_enter, pmap_change_wiring) (pmap_attribute_clear, pmap_unmap_page_zero, pmap_collect): Request MMU update from hypervisor. [MACH_XEN] (pmap_bootstrap): Request pagetable initialization from hypervisor. [MACH_XEN] (pmap_set_page_readwrite, pmap_set_page_readonly) (pmap_set_page_readonly_init, pmap_clear_bootstrap_pagetable) (pmap_map_mfn): New functions. * i386/intel/pmap.h [MACH_XEN] (INTEL_PTE_GLOBAL): Disable global page support. [MACH_PSEUDO_PHYS] (pte_to_pa): Do page translation. [MACH_XEN] (pmap_set_page_readwrite, pmap_set_page_readonly) (pmap_set_page_readonly_init, pmap_clear_bootstrap_pagetable) (pmap_map_mfn): Declare functions. * i386/i386/xen.h: New file. * i386/xen/xen.c: New file. * i386/xen/xen_boothdr.S: New file. * i386/xen/xen_locore.S: New file. * include/mach/xen.h: New file. * kern/bootstrap.c [MACH_XEN] (boot_info): Declare variable. [MACH_XEN] (bootstrap_create): Rebase multiboot header. * kern/debug.c: Include <mach/xen.h>. [MACH_HYP] (panic): Call hyp_crash() without delay. * linux/dev/include/asm-i386/segment.h [MACH_HYP] (KERNEL_CS) (KERNEL_DS): Use ring 1. * xen/block.c: New file. * xen/block.h: Likewise. * xen/console.c: Likewise. * xen/console.h: Likewise. * xen/evt.c: Likewise. * xen/evt.h: Likewise. * xen/grant.c: Likewise. * xen/grant.h: Likewise. * xen/net.c: Likewise. * xen/net.h: Likewise. * xen/ring.c: Likewise. * xen/ring.h: Likewise. * xen/store.c: Likewise. * xen/store.h: Likewise. * xen/time.c: Likewise. * xen/time.h: Likewise. * xen/xen.c: Likewise. * xen/xen.h: Likewise. * xen/public/COPYING: Import file from Xen. * xen/public/callback.h: Likewise. * xen/public/dom0_ops.h: Likewise. * xen/public/domctl.h: Likewise. * xen/public/elfnote.h: Likewise. * xen/public/elfstructs.h: Likewise. * xen/public/event_channel.h: Likewise. * xen/public/features.h: Likewise. * xen/public/grant_table.h: Likewise. * xen/public/kexec.h: Likewise. * xen/public/libelf.h: Likewise. * xen/public/memory.h: Likewise. * xen/public/nmi.h: Likewise. * xen/public/physdev.h: Likewise. * xen/public/platform.h: Likewise. * xen/public/sched.h: Likewise. * xen/public/sysctl.h: Likewise. * xen/public/trace.h: Likewise. * xen/public/vcpu.h: Likewise. * xen/public/version.h: Likewise. * xen/public/xen-compat.h: Likewise. * xen/public/xen.h: Likewise. * xen/public/xencomm.h: Likewise. * xen/public/xenoprof.h: Likewise. * xen/public/arch-x86/xen-mca.h: Likewise. * xen/public/arch-x86/xen-x86_32.h: Likewise. * xen/public/arch-x86/xen-x86_64.h: Likewise. * xen/public/arch-x86/xen.h: Likewise. * xen/public/arch-x86_32.h: Likewise. * xen/public/arch-x86_64.h: Likewise. * xen/public/io/blkif.h: Likewise. * xen/public/io/console.h: Likewise. * xen/public/io/fbif.h: Likewise. * xen/public/io/fsif.h: Likewise. * xen/public/io/kbdif.h: Likewise. * xen/public/io/netif.h: Likewise. * xen/public/io/pciif.h: Likewise. * xen/public/io/protocols.h: Likewise. * xen/public/io/ring.h: Likewise. * xen/public/io/tpmif.h: Likewise. * xen/public/io/xenbus.h: Likewise. * xen/public/io/xs_wire.h: Likewise.
2009-11-22Show command lines in task listSamuel Thibault
* Makefile.am (clib_routines): Add memcmp. * i386/i386/db_machdep.h (DB_GNUMACH_TASK_NAME): New macro. * i386/i386/db_interface.c (GNU): New macro. [GNU] (looks_like_command): New function. (db_task_name): When task map is kernel_pmap, return DB_GNUMACH_TASK_NAME. [GNU] (db_task_name): Use a GNU/Hurd-specific heuristic to get argv[] of a task.
2009-06-182008-11-17 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.am (install_sh, INSTALL): Point to `build-aux/install-sh'.
2009-06-182008-11-17 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* configure.ac: Require GNU Automake 1.10.1. * Makefile.am: Adapt. * Makefile.correct_output_files_for_.S_files.patch: Remove.
2009-06-182008-05-28 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[bug #23417, patch #6508 -- Building with -g3] * Makefile.am (MIGCOM): Revert the 2008-05-19 change.
2009-06-182008-05-19 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[patch #6508 -- Building with -g3] * Makefile.am (MIGCOM): Let it filter through CPP again. Suggested by Andrei Barbu <teval0@gmail.com>.
2009-06-182007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
* Makefile.am (clib_routines): Add udivdi3, __udivdi3 and _end. Fix edata into _edata. (gnumach-undef): Do not remove heading _s. (clib-routines.o): Add -lgcc.
2009-06-182007-06-02 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.am (MIGFLAGS): Remove. (MIGCOM): Add ``-n''. * Makerules.am: Adapt to that.
2009-06-182007-03-30 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.am (gnumach_o_LINK): Remove ``--start-group''.
2009-06-182007-02-19 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.am (gnumach_LINKFLAGS): New variable. (gnumach_LINK): Use that one instead of the previously used `LINKFLAGS_gnumach'. * i386/Makefrag.am (LINKFLAGS_gnumach): Rename to `gnumach_LINKFLAGS', move into [PLATFORM_at] and pass `_START'. * i386/ldscript: Don't hardcode a _start address of 0x100000, but make it configurable via `_START'.
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-182006-12-03 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[bug #18015 --- ``GNU Mach: `make dist' and friends''] * Makefile.am (DISTCLEANFILES): New variable.
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-11-29 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* configure.ac (disable_smashing_stack_protector): New conditional, set depending on the compiler accepting `-fstack-protector' or not. * Makefile.am (CFLAGS): Add `-fno-stack-protector' if `disable_smashing_stack_protector' is set.
2009-06-182006-11-11 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.am (gnumach-undef-bad): Depend on the Makefile.
2009-06-182006-10-15 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[task #5956 --- ``Automake'ify GNU Mach's code base''] * Makefile.am: New file. * Makerules.am <configure's findings, System dependent Makerules> <Compilation flags, Dependency generation, Autoconf support>: Remove sections. <Building from foo.cli, Building from foo.srv>: Rewrite: (%.server.defs.c, %.user.defs.c, %.server.h %.server.c) (%.user.h %.user.c, %.server.defs, %.user.defs): New targets. (%.h %_user.c %.cli.d, %_interface.h %_server.c %.srv.d): Remove targets. (echo-%): New target. * Makefrag.am <configure's findings, Rules, Kernel Image, Installation> <Building the distribution, Autoconf support, Makerules>: Remove sections. (enable_kdb, enable_kmsg): Adopt. <All the source in each directory> <Header files installed for user use>: Rewrite to adopt to how things are to be done now. <Automatically generated source files>: New section. (i386/Makefrag.am): Include file if appropriate. * i386/Makefrag.am <configure's findings, Rules, Installation> <Autoconf support, Makerules>: Remove sections. (enable_lpr): Adopt. <Source files for any i386 kernel>: Rewrite to adopt to how things are to be done now. * i386/linux/Makefrag.am: New file. * linux/Makefrag.am: Likewise.