summaryrefslogtreecommitdiff
path: root/i386/Makefrag.am
AgeCommit message (Collapse)Author
2009-06-182007-12-10 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* 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.
2009-06-182007-12-05 Guillem Jover <guillem@hadrons.org>Samuel Thibault
* i386/Makefrag.am (i386/i386at/interrupt.o): New target, depends on i386/i386/i386asm.h (i386/i386/cswitch.o): Likewise. (i386/i386/locore.o): Likewise.
2009-06-182007-06-02 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makerules.mig.am: New file, factored out of code of... * Makefrag.am: ... this file and... * Makerules.am: ... this file. * i386/Makefrag.am: Update comment.
2009-06-182007-05-07 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[bug #15295 --- ``Mach lets processes write to I/O ports''] * i386/Makefrag.am (libkernel_a_SOURCES): Add `i386/i386/io_perm.c', `i386/i386/io_perm.h', `i386/i386/machine_task.c', `i386/i386/task.h' and remove `i386/i386/io_port.h', `i386/i386/iopb.c', `i386/i386/iopb.h'. * i386/i386/io_port.h: Remove file. * i386/i386at/kd.c: Don't include <i386/io_port.h>. (vga_port_list, kd_io_device, kd_io_map_open, kd_io_map_close): Don't define and don't use anymore. * include/stddef.h: New file. * i386/i386/io_perm.c: Include <string.h>, <device/device_emul.h>, <ipc/ipc_space.h> and don't include <oskit/ds_oskit.h>. (io_perm_device_emulation_ops): New variable. (dev_open_alloc, setup_no_senders): Remove declarations. (convert_io_perm_to_port, convert_port_to_io_perm, io_perm_deallocate): Rewrite. (no_senders): New function. (i386_io_perm_create, i386_io_perm_modify): Rewrite partially, to adapt to the GNU Mach environment. * i386/i386/io_perm.h: Include <device/dev_hdr.h> and <ipc/ipc_types.h>. (io_perm, io_perm_t): New structure and accompanying type definition. (IO_PERM_NULL): Define. * i386/i386/locore.S (ktss): Move variable to... * i386/i386/ktss.c: ... here, make it a ``struct task_tss''. (ktss_init): Initialize the `task_tss' structure and the i/o permission bit map. * i386/i386/ktss.h: Adapt to that. * i386/i386/machine_task.c (machine_task_module_init): Adapt the `zinit' call to the GNU Mach environment. * i386/i386/mp_desc.c: Include <machine/ktss.h>. * i386/i386/tss.h: Include <machine/io_perm.h>. (task_tss): New structure, equivalent to the OSKit-Mach one. * i386/include/mach/i386/mach_i386.defs: Don't include <device/device_types.defs>. (device_list_t): Remove type. * i386/include/mach/i386/mach_i386_types.h (device_list_t): Remove type definition. 2007-05-07 Marcus Brinkmann <marcus@gnu.org> [bug #15295 --- ``Mach lets processes write to I/O ports''] * i386/i386/iopb.h, i386/i386/iopb.c: Obsolete files removed. * i386/i386/pcb.c (switch_context): Update the I/O permission bitmap from stack_handoff() here (not only in stack_handoff()). * i386/i386/machine_task.c (machine_task_module_init): Set ZONE_COLLECTABLE and ZONE_EXHAUSTIBLE flags for the iopb zone. Requested by Roland McGrath <roland@frob.com>. * i386/i386/io_perm.h: New file. * i386/i386/io_perm.c: New file. * i386/i386/machine_task.c: New file. * i386/i386/mp_desc.h: (struct mp_desc_table): Change type of ktss to struct task_tss. (mp_ktss): Likewise for array of pointers to the struct. * i386/i386/mp_desc.c: Include `machine/tss.h' and `machine/io_perm.h'. (mp_ktss): Change type to array of struct task_tss. (mp_desc_init): Cast pointer to x86_tss into pointer to task_tss, and use size of struct task_tss instead size of struct x86_tss. Initialize the task_tss structure. * i386/i386/pcb.c: Include `stddef.h' and `machine/tss.h'. (iopb_create, iopb_destroy): Prototypes removed. (curr_ktss): Cast pointer to base_tss to pointer to struct task_tss. (switch_ktss): Always use kernel TSS. (update_ktss_iopb): New function. (stack_handoff): Call update_ktss_iopb. (pcb_module_init): Do not call iopb_init. (pcb_terminate): Do not call iopb_destroy. (thread_setstatus): Remove local variable tss. (thread_getstatus): Rewrite i386_ISA_PORT_MAP_STATE case handler. * i386/i386/task.h: New file. * i386/i386/thread.h: Do not include `i386/iopb.h'. (struct i386_machine_state): Remove member io_tss. * i386/include/mach/i386/mach_i386.defs [KERNEL_SERVER]: Include `machine/io_perm.h'. Define intran, outtran and destructor. (io_port_t): New type. (io_perm_t): Likewise. (i386_io_port_add): Interface removed. (i386_io_port_remove): Likewise. (i386_io_port_list): Likewise. (i386_io_perm_create): New interface. (i386_io_perm_modify): Likewise. * i386/include/mach/i386/mach_i386_types.h [MACH_KERNEL]: Include `i386/io_perm.h'. [!MACH_KERNEL]: Define types io_port_t and io_perm_t. * kern/task.c (task_init): Call machine_task_module_init. (task_create): Call machine_task_init. (task_deallocate): Call machine_task_terminate. (task_collect_scan): Call machine_task_collect. * task.h: Include `machine/task.h'. (struct task): Add member machine.
2009-06-182007-04-02 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* i386/i386/io_emulate.c: Remove file. * i386/i386/io_emulate.h: Likewise. * i386/i386at/iopl.c: Likewise. * i386/Makefrag.am (libkernel_a_SOURCES): Remove the aforementioned files. * i386/i386/trap.c: Don't include <i386/io_emulate.h>. (v86_assist, check_io_fault): Remove functions. (user_trap): Remove the code referencing the above functions. * i386/i386at/conf.c (dev_name_list): Remove the `iopl' device. * DEVELOPMENT: Document this.
2009-06-182007-03-27 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
Unconditionally use the device driver multiplexing. Suggested by Gianluca Guida <glguida@gmail.com>. * i386/i386at/dev_hdr.h: Merge into `device/dev_hdr.h' and remove. * i386/i386at/device_emul.h: Rename to `device/device_emul.h'. Adapt all users. * i386/i386at/i386at_ds_routines.c: Merge into `device/ds_routines.c' and remove. * i386/linux/dev/include/linux_emul.h: Remove file. * Makefrag.am (libkernel_a_SOURCES): Add `device/device_emul.h'. * i386/Makefrag.am (libkernel_a_SOURCES): Remove `i386/i386at/dev_hdr.h', `i386/i386at/device_emul.h' and `i386/i386at/i386at_ds_routines.c'. * i386/linux/Makefrag.am (liblinux_a_SOURCES): Remove `i386/linux/dev/include/linux_emul.h'. * dev/dev_hdr.h: Adapt all users of `i386' as if it were always defined. * device/dev_lookup.c: Likewise. * device/ds_routines.c: Likewise. * device/device_init.c (ds_init): Rename to `mach_device_init'. * device/ds_routines.c (ds_init): Likewise. (ds_trap_init): Rename to `mach_device_trap_init'. (mach_device_trap_init): Make it `static'. * linux/dev/glue/block.c: Don't include <linux_emul.h>, but instead include <device/device_emul.h> and <i386at/disk.h>. * linux/dev/glue/net.c: Don't include <linux_emul.h>, but instead include <device/device_emul.h>. * linux/pcmcia-cs/glue/ds.c: Likewise.
2009-06-182007-03-23 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makerules.am (%.server.msgids, %.user.msgids): Merge into the existing ``%.h %.c'' rules. Comment out the currently unused rpc stub rules. * Makefrag.am (gnumach.msgids): Rewrite. (nodist_libkernel_a_SOURCES): Add all ``.msgids'' files. * i386/Makefrag.am (nodist_libkernel_a_SOURCES): Likewise.
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-13 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
Drop useless and broken FPE support. * i386/configfrac.ac (FPE): Don't define. * i386/i386/gdt.h (FPE_CS, USER_FPREGS): Remove macros. * i386/i386/fpu.c (init_fpu, fpu_set_state, fpu_get_state): Remove FPE support. * i386/i386/fpu.h: Likewise. * i386/i386/trap.c (user_trap, i386_exception): Likewise. * i386/i386/fpe_linkage.c: Remove file. * i386/Makefrag.am: Remove i386/i386/fpe_linkage.c. * Makefile.in: Regenerate.
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''] * 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.
2009-06-182006-10-15 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[task #5956 --- ``Automake'ify GNU Mach's code base''] * i386/Makefile.in: Move file... * i386/Makefrag.am: ... here. * i386/linux/Makefile.in: Remove file.