Age | Commit message (Collapse) | Author |
|
I have assigned copyright to the Free Software Foundation.
* i386/i386/xen.h: Fix copyright assignment
* i386/xen/xen.c: Likewise.
* i386/xen/xen_boothdr.S: Likewise.
* i386/xen/xen_locore.S: Likewise.
* include/mach/xen.h: Likewise.
* xen/block.c: Likewise.
* 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.
|
|
* device/cons.h: Add multiple inclusion _DEVICE_CONS_H macro protector.
(struct consdev): Add function members prototypes.
* i386/i386/xen.h: Include <mach/xen.h>.
* i386/i386at/com.c (comcnprobe, comcninit, comcngetc, comcnputc): Move
prototypes...
* i386/i386at/com.h: ... here. Include <device/cons.h>.
* i386/i386at/cons_conf.c [MACH_HYP]: Include <xen/console.h>.
[!MACH_HYP]: Include "kd.h".
[!MACH_HYP && NCOM > 0]: Include "com.h".
(hypcnprobe, hypcninit, hypcngetc, hypcnputc, kdcnprobe, kdcninit, kdcngetc,
kdcnputc comcnprobe, comcninit, comcngetc, comcnputc): Remove prototypes.
* i386/i386at/kd.c (kdcnputc): Make it return int, -1 on error, 0 on
success.
(kdcnprobe, kdcninit, kdcngetc, kdcnputc): Move prototypes...
* i386/i386at/kd.h: ... here. Include <device/cons.h>.
* xen/console.c (hypcnprobe): Remove unused `my_console' local variable.
* xen/console.h: Include <device/cons.h>
(hypcnputc, hypcngetc, hypcnprobe, hypcninit): Add prototypes.
|
|
* i386/i386/locore.S (copyout): On >= i486, skip WP-check loop split and just
use byte count.
|
|
* i386/i386/i386asm.sym (machine_slot.sub_type): Define.
* i386/i386/locore.S (copyout_retry): Skip if machine_slot[0].cpu_type > 3.
|
|
* i386/xen/xen_boothdr.S (__xen_guest): Add [extended-cr3] to PAE
(XEN_ELFNOTE_PAE_MODE): Likewise.
|
|
i386 didn't support PAE anyway.
* i386/i386/locore.S (copyout_retry) [MACH_HYP || PAE]: Remove.
* xen/xen.c (hyp_invalidate_pte): Remove function.
* xen/xen.h (hyp_invalidate_pte): Remove prototype.
|
|
* i386/intel/pmap.c (pmap_clear_bootstrap_pagetable): Use pte_to_pa instead
of atop.
|
|
* i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE): Define to 192MiB.
* i386/i386at/model_dep.c (mem_size_init): Use VM_KERNEL_MAP_SIZE instead of
1/6 factor.
* i386/intel/pmap.c (morevm): Remove.
(pmap_bootstrap): Use VM_KERNEL_MAP_SIZE instead of morevm.
|
|
* i386/i386at/com.c (comstart): Disable `i' variable.
* linux/src/drivers/net/at1700.c (net_close): Disable `lp' variable.
* linux/dev/include/linux/blk.h (end_request): Disable `nsect' variable
on MACH.
|
|
* i386/i386at/model_dep.c (discover_x86_cpu_type): Move ...
* i386/i386/locore.h: ... here.
(inst_fetch, cpu_shutdown): New prototypes.
* i386/i386at/kd.c: Include <i386/locore.h>.
|
|
* i386/i386/db_interface.h (I386_DB_LEN_8): Define macro.
|
|
* i386/i386at/model_dep.c (i386at_init): Set CR0_CD and CR0_NW in CR0
register.
|
|
Follow-up to fa6c711d
* vm/vm_object.c (DEVICE_IO_MAP_SIZE): Increase to 16MiB.
* kern/kalloc.c (kalloc_map_size): Increase to 64MiB.
* i386/intel/pmap.c (morevm): Increase to 128MiB.
|
|
* i386/i386/locore.S (call_continuation): Push dummy return address instead
of letting the callee get a random one.
|
|
* Makefrag.am (libkernel_a_SOURCES): Add ddb/db_cond.h, ddb/db_examine.h,
ddb/db_input.h, ddb/db_macro.h, ddb/db_trap.h.
* i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386/db_interface.h
|
|
* i386/i386at/kd.c (key_map): Fix K_PERIOD typo.
|
|
* i386/i386at/kd.h (NUMSTATES): Fix comment about NORM_STATE.
* i386/i386at/kd.c (key_map): Use K_* macros instead of numeric values.
|
|
According to stack layout change in 5da1aea7
* i386/i386/locore.S [!MACH_XEN] (RET_OFFSET): Define to 12 instead of 8.
|
|
* i386/i386at/model_dep.c (i386at_init): Enable CR4_PGE after enabling
CR0_PG.
|
|
* i386/i386at/model_dep.c (i386at_init): Count the number of actually
needed temporary L1 direct mapping by getting the last used address from
init_alloc_aligned(), instead of hardcoding it to 1 or 3, and then use a for
loop.
|
|
* i386/intel/pmap.c (pmap_bootstrap): Fix loop which keeps supplementary L1
pages read-only: break as soon as one of the L1 supplementary pages has been
recognized, so that its pte does not get rewritten read-write.
|
|
This partially reverts 0744feb6
* i386/intel/pmap.c (pmap_remove_range): Update pvlist for kernel_pmap too.
|
|
This fixes interrupt overflows when software interrupts processing gets slower
than hardware.
* i386/i386at/interrupt.S (interrupt): Issue EOI to PICs after having called
the interrupt handler and disabled interrupts through cli.
|
|
* i386/i386/locore.S (int_from_instack): Check %esp against _intstack, issue
ud2 on stack overflow.
|
|
* i386/xen/xen_boothdr.S: Add global visibility to __hyp_* symbols.
* i386/i386/locore.S [MACH_XEN] (dr6,dr0,dr1,dr2,dr3): Make get_debugreg and
set_debugreg hypercalls to manipulate debug registers.
(dr0,dr1,dr2,dr3): Fix dr7 field shift.
* i386/i386/xen.h (hyp_set_debugreg, hyp_get_debugreg): New prototypes.
|
|
* i386/i386/db_interface.h (I386_DB_TYPE_X, I386_DB_TYPE_W, I386_DB_TYPE_RW,
I386_DB_LEN_1, I386_DB_LEN_2, I386_DB_LEN_4, I386_DB_LOCAL,
I386_DB_GLOBAL): New macros.
(dr0, dr1, dr2, dr3): New function prototypes.
|
|
* i386/intel/pmap.c (pmap_remove_range): Do not update pvlist for
kernel_map.
[MACH_KBD] (pmap_enter): Allow physical memory remapping.
|
|
* i386/configfrag.ac (RCLINE, RCADDR): Remove defines.
* i386/i386at/com.c: Include <string.h> and <util/atoi.h>
[!RCLINE] (RCBAUD, comcndev, comcnprobe, comcninit, comcngetc, comcnputc):
Declare and define macro, variable, and functions.
(rcline): New variable.
(kernel_cmdline): New declaration.
(comcnprobe): Detect "console=comN" option and set rcline accordingly, use
rcline instead of RCLINE for serial console selection.
* i386/i386at/cons_conf.c [NCOM>0 && !RCLINE] (comcnprobe, comcninit,
comcngetc, comcnputc): Declare functions.
[NCOM>0 && !RCLINE] (constab): Enable "com" console.
* i386/i386at/kd_event.c (kbdopen): Call kdinit function, for when the
VGA+pckbd console was not initialized.
|
|
* i386/i386/gdt.c (gdt_init): Do not enable VMASST_TYPE_pae_extended_cr3.
* i386/intel/pmap.c (pmap_bootstrap): Enable VMASST_TYPE_pae_extended_cr3.
|
|
* i386/i386/gdt.c (gdt_init): Enable VMASST_TYPE_pae_extended_cr3.
* i386/i386/xen.h: Drop actually-unneeded comment.
* i386/xen/xen_boothdr.S (FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb.
(XEN_ELFNOTE_FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb.
|
|
* i386/Makefrag.am (libkernel_a_SOURCES): Move i386/i386at/kd_event.[ch] and
i386/i386at/kd_queue.[ch] to [PLATFORM_at].
* i386/i386at/conf.c (dev_name_list): Move kbd device to [!MACH_HYP].
|
|
* i386/i386at/kd.c (kdintr): Return immediately if !kd_initialized.
* i386/i386at/pic_isa.c (ivect) [RCLINE >= 0]: Enable kdintr in that case
too.
|
|
The code is arch-independant, and reboot_on_panic, used by kern/debug.c
would be undefined on non-i386.
* i386/i386at/model_dep.c (reboot_on_panic, c_boot_entry): Move -d and -H parse
to...
* kern/startup.c (reboot_on_panic,setup_main): ... here. Include <string.h>
|
|
* include/string.h (memmove): Add prototype.
* i386/i386at/immc.c (immc_cnputc): Replace memcpy with memmove.
|
|
* i386/i386at/kd.c (kd_setleds1): Only display unexpected state warning when
debugging is enabled.
|
|
* i386/i386at/model_dep.c (discover_x86_cpu_type): Add prototype.
|
|
* i386/i386at/model_dep.c (c_boot_entry): Warn in the default case for
cpu_type.
|
|
* i386/i386at/model_dep.c (c_boot_entry): Treat cpu_type 15 as Pentium pro.
|
|
|
|
* i386/i386/trap.c (user_trap): Call printf, not print.
|
|
* 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.
|
|
* 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.
|
|
ext2fs.static will trigger some anyway. Instead, provide an easy way to
track how many traps happen.
* i386/i386/gdt.c [MACH_XEN] (gdt_init): Disable enabling
VMASST_TYPE_4gb_segments_notify.
* i386/i386/trap.c [MACH_XEN] (user_trap): Remove printing libc0.3-xen
installation advice on 4gb_segments trap. Instead, print a count every 10000
traps, and disable them on the 1000000th.
|
|
i386/i386/trap.c [MACH_XEN] (user_trap): Disable
VMASST_TYPE_4gb_segments_notify on trap 15.
|
|
* i386/i386/gdt.c [MACH_XEN] (gdt_init): Enable VMASST_TYPE_4gb_segments_notify.
* i386/i386/idt_inittab.S [MACH_XEN]: Set trap 15 as pushing an error
code.
* i386/i386/trap.c [MACH_XEN]: Print trap 15 first occurrence.
|
|
|
|
* i386/i386/seg.h (lldt): Add memory clobber to lldt asm
snippet.
* i386/i386/tss.h (ltr): Add memory clobber to ltr asm
snippet.
|
|
* i386/intel/pmap.c (pmap_bootstrap): Use pt_entry_t type
instead of vm_offset_t to map additional kernel space.
|
|
* i386/i386/pcb.c (switch_ktss): Use uint64_t for descriptor
type instead of unsigned long long.
* i386/i386/seg.h (fill_descriptor): Use uint64_t for descriptor
type instead of unsigned long long. Cast result of kv_to_ma()
into vm_offset_t before printing.
* i386/i386/xen.h (hyp_mmu_update_pte): Use pt_entry_t type
instead of unsigned long long, make pte parameter a pt_entry_t
too.
(hyp_mmu_update_pte): Compute pte address just using pt_entry_t
integers.
(hyp_high): New macro to fix 32bit right shifting.
(hyp_do_update_descriptor): Use pt_entry_t type for machine
address instead of unsigned long. Split it in 32bit parts. Use uint64_t
for descriptor type instead of unsigned long long.
(update_va_mapping): Use pt_entry_t type instead of unsigned
long long. Use hyp_high macro.
(hyp_invlpg): Use uint64_t for time type instead of unsigned
long long.
* i386/intel/pmap.c (pmap_bootstrap): Use ptetokv instead of
pte_to_pa + phystokv. Cast machine addresses into vm_offset_t
before printing.
(pmap_set_page_readwrite): Likewise.
(pmap_set_page_readonly): Likewise
(pmap_set_page_readonly_init): Likewise
(pmap_clear_bootstrap_pagetable): Likewise
(pmap_destroy): Likewise
(pmap_map_mfn): Use pt_entry_t type for machine addresses. Cast
machine addresses into vm_offset_t before printing.
* i386/intel/pmap.h [PAE] (INTEL_PTE_PFN): Set macro to
0xfffffffffffff000ULL.
* include/mach/xen.h [PAE] (pa_to_ma, ma_to_pa): Use pt_entry_t
type for machine addresses.
[!PAE] (pa_to_ma): Remove cast to vm_offset_t.
(mfn_to_kv): Use mfn_to_pfn + ptoa instead of ptoa + ma_to_pa.
* xen/xen.c (hyp_invalidate_pte): Cast machine addresses into
vm_offset_t before printing.
|
|
* i386/Makefrag.am (libkernel_a_SOURCES): Add
i386/i386at/iopl.c.
* i386/i386at/conf.c [!MACH_HYP] (memmmap): Declare function.
(memname): Add macro.
(dev_name_list): Add mem device.
* i386/i386at/mem.c: New file.
|