| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Message-ID: <4cea36qrjeo7tkklmqcwgkrxstxiqykdofha65zxmpni2o6lp3@2offokab6fvn>
|
|
|
|
|
|
|
|
|
|
|
| |
This adds "aarch64" host support to the build system, along with some
uninteresting installed headers. The empty aarch64/aarch64/ast.h header
is also added to create the aarch64/aarch64/ directory (due to Git
peculiarity).
With this, it should be possible to run 'configure --host=aarch64-gnu'
and 'make install-data' successfully.
Message-ID: <20240415090149.38358-3-bugaevc@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: move test fragment to have USER32
* tests/Makefrag.am: add user tests
* tests/README: add basic info on how to run and debug user tests
* tests/configfrag.ac: allow the test compiler/flags to be
autoconfigured or customized
* tests/grub.cfg.single.template: add minimal grub config to boot a
module
* tests/include/device/cons.h: add a simplified version of
device/cons.h usable for tests
* tests/include/kern/printf.h: symlink to kern/printf.h
* tests/include/mach/mig_support.h: add basic version for user-space
tests
* tests/include/syscalls.h: add prototypes for syscalls used in tests.
* tests/include/testlib.h: add definitions for common test
functionalities
* tests/include/util/atoi.h: symlink to util/atoi.h
* tests/run-qemu.sh.template: add a simple qemu test runner
* tests/start.S: add arch-specific entry point
* tests/syscalls.S: generate syscalls entry points
* tests/test-hello.c: add basic smoke test
* tests/testlib.c: add the minimal functionality to run a user-space
executable and reboot the system, and some test helpers.
* tests/user-qemu.mk: add rules to build simple user-space test
modules, including generating mig stubs. The tests reuse some kernel
code (like printf(), mach_atoi(), mem*(), str*() functions) so we can
use the freestanding environment and not depend on glibc.
Message-ID: <20240111210907.419689-1-luca@orpolo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configfrag.ac: add the global option USER32; although it makes sense
for 64-bit versions only, it can be used by future 64-bit
architectiures and not only x86_64.
Also, change the default setting to be disabled; now that we have a
working full 64-bit system, it makes sense to consider it the common
choice.
* x86_64/configfrag.ac: define the correct 32-bit cpu if USER32 is
enabled.
Message-ID: <20231228194301.745811-2-luca@orpolo.org>
|
|
|
|
|
|
|
| |
After d5e5dd3401ea0d0475aa830c2171be5b8a72f4fa we can configure and make
gnumach without glibc, however it no longer used -O2 -g in CFLAGS by default.
This reverts that behavior.
Message-Id: <Y8yihABKwOjqi4y3@jupiter.tail36e24.ts.net>
|
|
|
|
|
|
|
| |
For x86_64-pc-gnu we still do not have a working glibc so ./configure will fail
under a freestanding environment. We force ./configure to avoid running
compiled C programs as a test which it is not needed when compiling a kernel.
Message-Id: <Y7zYm44O0CNayuAe@jupiter.tail36e24.ts.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure: compile for native x86_64 by default instead of xen
* x86_64/Makefrag.am: introduce KERNEL_MAP_BASE to reuse the constant
in both code and linker script
* x86_64/ldscript: use a .boot section for the very first operations,
until we reach long mode. This section is not really allocated, so
it doesn't need to be freed later. The vm system is later
initialized starting from .text and not including .boot
* link kernel at 0x4000000 as the xen version, higher values causes
linker errors
* we can't use full segmentation in long mode, so we need to create a
temporary mapping during early boot to be able to jump to high
addresses
* build direct map for first 4G in boothdr, it seems required by Linux
drivers
* add INTEL_PTE_PS bit definition to enable 2MB pages during bootstrap
* ensure write bit is set in PDP entry access rights. This only
applies to PAE-enabled kernels, mandatory for x86_64. On xen
platform it seems to be handled differently
Signed-off-by: Luca Dariz <luca@orpolo.org>
Message-Id: <20220205175129.309469-2-luca@orpolo.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
bash: no: command not found
seems to be confusing for users. Revert to setting back to mig, but
after printing the warning.
* configure.ac (MIG): Default to mig when not found.
|
|
|
|
|
| |
* configure.ac (MIG): Do not default to mig, and warn when this is
missing. Advertise the MIG variable.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise the x86_64 configfrag would overwrite i386's.
* i386/configfrag.ac: Remove ncom, nlpr, pae, NCOM, NLPR, PAE
definitions.
* i386/configfrag.ac: Remove ncom, nlpr, NCOM, NLPR, PAE
definitions. Enable PAE.
* configfrag-first.ac: New file, defines ncom, nlpr, pae.
* configure.ac: Include configfrag-first.ac
* configfrag.ac: Define NCOM, NLPR, PAE.
|
|
|
|
|
|
|
|
|
|
| |
* x86_64/configfrag.ac (ncom, nplr) [!at:x86_64]: Set to 0.
(ncom) [at:x86_64]: Set to 4.
(nlpr) [at:x86_64]: Set to 1.
(ATX86_64): Define to 1.
(NCOM): Define.
(NLPR): Define.
* configure.ac [at:x86_64]: Accept combination.
|
|
|
|
|
|
|
|
|
| |
Only Xen platform for now.
* Makefrag.am [HOST_x86_64]: Include x86_64/Makefrag.am.
* configure.ac: Include x86_64/configfrag.ac.
[default:x86_64] (host_platform): Set platform to xen.
* x86_64/Makefrag.am, x86_64/configfrag.ac: New files.
|
|
|
|
| |
* configure.ac (AM_INIT_AUTOMAKE): Change dist-bzip2 to dist-xz.
|
|
|
|
| |
* configure.ac: Fix patching Makefile.in in $srcdir.
|
|
|
|
|
|
| |
* Makefile.in.dep.patch: New file.
* configure.ac: Try to apply Makefile.in.dep.patch if
config.status.dep.patch failed to apply.
|
|
|
|
| |
This reverts commit b28e05e203e0739fa5db59c5af378b29eea7a232.
|
|
|
|
| |
* configure.ac (MIG): Error out if MiG was not found.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* configure.ac (AC_LANG_CONFTEST): Wrap the source into a AC_LANG_SOURCE
call.
|
|
|
|
|
|
|
|
| |
9ff49d9648debffbe42d18863c739d37bcdb50b4's config.status.dep.patch is fit for
1.10.2 (released in November 2008) and later, and is no longer suitable for
1.10.1.
* configure.ac (AM_INIT_AUTOMAKE): Require 1.10.2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* configure.ac: Require GNU Automake 1.10.1.
* Makefile.am: Adapt.
* Makefile.correct_output_files_for_.S_files.patch: Remove.
|
|
|
|
|
|
|
|
| |
* i386/Makefrag.am (i386/i386at/boothdr.o, i386/i386at/interrupt.o)
(i386/i386/cswitch.o, i386/i386/locore.o): Remove targets.
* configure.ac <Dependency tracking for `.S' files>: Add a hack to
re-add the four targets with have been removed above for the (legacy)
case only where they are actually needed.
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac (--disable-default-device-drivers): Transform into...
(--enable-device-drivers): ... this new option and extend it.
* i386/configfrag.ac (--enable-lpr): Adapt to that.
* linux/configfrag.ac (AC_OPTION_Linux_ix86_at, AC_Linux_DRIVER):
Likewise.
(AC_Linux_DRIVER_qemu): New definition. Use it for the `floppy', `ide'
and `ne' device drivers.
* doc/mach.texi: Document all that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* configure.ac (AM_INIT_AUTOMAKE): Add ``-Wall -Wno-portability''.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
[task #5956 --- ``Automake'ify GNU Mach's code base'']
* configure.ac <AM_INIT_AUTOMAKE>: Add `no-define' and `1.9'.
|
|
|
|
|
|
|
|
| |
[bug #18011 --- ``GNU Mach: `make install-data' will build the
``to-be-generated files'''']
* config.status.dep.patch: Do an educated guess instead of using the
`Makefile'.
* configure.ac <config.status.dep.patch>: Update description.
|
|
|
|
|
| |
* configure.ac: Update texts snippets: GNU Automake 1.10 has just been
released.
|
|
|
|
|
|
|
|
| |
[task #5956 --- ``Automake'ify GNU Mach's code base'']
* configure.ac <config.status.dep.patch>: Point to [bug #18011 ---
``GNU Mach: `make install-data' will build the ``to-be-generated
files''''].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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'.
|
|
* configure.in: Move file...
* configure.ac: ... here.
|