History log of /freebsd/sys/amd64/amd64/genassym.c (Results 126 – 150 of 1759)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 142ba5f3 10-Feb-2001 John Baldwin <jhb@FreeBSD.org>

- Make astpending and need_resched process attributes rather than CPU
attributes. This is needed for AST's to be properly posted in a preemptive
kernel. They are backed by two new flags in p_sf

- Make astpending and need_resched process attributes rather than CPU
attributes. This is needed for AST's to be properly posted in a preemptive
kernel. They are backed by two new flags in p_sflag: PS_ASTPENDING and
PS_NEEDRESCHED. They are still accesssed by their old macros:
aston(), astoff(), etc. For completeness, an astpending() macro has been
added to check for a pending AST, and clear_resched() has been added to
clear need_resched().
- Rename syscall2() on the x86 back to syscall() to be consistent with
other architectures.

show more ...


Revision tags: vendor/ipfilter/3.4.16, vendor/ipfilter-sys/v3-4-16, vendor/acpica/20010125
# d87ad35b 30-Jan-2001 Peter Wemm <peter@FreeBSD.org>

Remove unused GD_CPU_LOCKID, GD_OTHER_CPUS, PS_IDLESTACK and
PS_IDLESTACK_TOP


Revision tags: vendor/sendmail/8.11.2
# a448b62a 21-Jan-2001 Jake Burkholder <jake@FreeBSD.org>

Make intr_nesting_level per-process, rather than per-cpu. Setup
interrupt threads to run with it always >= 1, so that malloc can
detect M_WAITOK from "interrupt" context. This is also necessary
in

Make intr_nesting_level per-process, rather than per-cpu. Setup
interrupt threads to run with it always >= 1, so that malloc can
detect M_WAITOK from "interrupt" context. This is also necessary
in order to context switch from sched_ithd() directly.

Reviewed By: peter

show more ...


# 3e899e10 21-Jan-2001 Jake Burkholder <jake@FreeBSD.org>

Remove the per-cpu pages used for copy and zero-ing pages of memory
for SMP; just use the same ones as UP. These weren't used without
holding Giant anyway, and the routines that use them would have

Remove the per-cpu pages used for copy and zero-ing pages of memory
for SMP; just use the same ones as UP. These weren't used without
holding Giant anyway, and the routines that use them would have to
be protected from pre-emption to avoid migrating cpus.

show more ...


# 7dd2de5b 20-Jan-2001 Jake Burkholder <jake@FreeBSD.org>

Rename the ASSYM MTX_RECURSE to MTX_RECURSECNT in order to not conflict
with the flag of the same name.


# 87dce368 20-Jan-2001 Jake Burkholder <jake@FreeBSD.org>

Simplify the i386 asm MTX_{ENTER,EXIT} macros to just call the
appropriate function, rather than doing a horse-and-buggy
acquire. They now take the mutex type as an arg and can be
used with sleep as

Simplify the i386 asm MTX_{ENTER,EXIT} macros to just call the
appropriate function, rather than doing a horse-and-buggy
acquire. They now take the mutex type as an arg and can be
used with sleep as well as spin mutexes.

show more ...


# 75869092 12-Jan-2001 Jake Burkholder <jake@FreeBSD.org>

Remove unused per-cpu variables inside_intr and ss_eflags.


# 41ed17bf 06-Jan-2001 Jake Burkholder <jake@FreeBSD.org>

Use %fs to access per-cpu variables in uni-processor kernels the same
as multi-processor kernels. The old way made it difficult for kernel
modules to be portable between uni-processor and multi-proc

Use %fs to access per-cpu variables in uni-processor kernels the same
as multi-processor kernels. The old way made it difficult for kernel
modules to be portable between uni-processor and multi-processor
kernels. It is no longer necessary to jump through hoops.

- always load %fs with the private segment on entry to the kernel
- change the type of the self referntial pointer from struct privatespace
to struct globaldata
- make the globaldata symbol have value 0 in all cases, so the symbols
in globals.s are always offsets, not aliases for fields in globaldata
- define the globaldata space used for uniprocessor kernels in C, rather
than assembler
- change the assmebly language accessors to use %fs, add a macro
PCPU_ADDR(member, reg), which loads the register reg with the address
of the per-cpu variable member

show more ...


Revision tags: vendor/kerberosIV/1.0.5, vendor/acpica/20001215, vendor/gcc/cvs-20000711-1732
# 7d8e3aa0 14-Dec-2000 Jake Burkholder <jake@FreeBSD.org>

Use _lapic+offset to access the local apic from assembly language
files, rather than the symbols in globals.s. The offsets are
generated by genassym.


# 5057d210 12-Dec-2000 John Baldwin <jhb@FreeBSD.org>

Add in symbols needed in the WITNESS_ENTER and WITNESS_EXIT macros in
i386/include/mutex.h.


Revision tags: vendor/kerberosIV/1.0-tfutil, vendor/kerberosIV/1.0-kdc_reply, vendor/kerberosIV/1.0-extra, vendor/acpica/20001201, vendor/groff/1.16.1, vendor/openssh/2.3.0, vendor/acpica/20001115, vendor/tcsh/6.10, vendor/file/3.33, vendor/binutils/2.10.1, vendor/binutils/2.10.0, release/4.2.0, vendor/openssh/20001110, vendor/openssl/0.9.6, vendor/bind/8.2.3-aa-patch, vendor/file/3.32, vendor/tcsh/6.09.01-20001031, vendor/isc-dhcp/2.0pl5_v3_fixes, vendor/isc-dhcp/FBSD_ISC_DHCP_2_0_PL5_+_V3_FIXES, vendor/isc-dhcp/FBSD_ISC_DHCP_2_0_PL5, vendor/isc-dhcp/2.0pl5, vendor/bind/8.2.3.t6b
# da936bf8 29-Oct-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Remove unneeded <stddef.h> #includes.


Revision tags: vendor/ipfilter/3.4.13, vendor/ipfilter-sys/v3-4-13, vendor/acpica/20001020, vendor/ipfilter/3.4.12, vendor/ipfilter-sys/v3-4-12, vendor/tzdata/tzdata2000g
# bce7f05a 20-Oct-2000 John Baldwin <jhb@FreeBSD.org>

- machine/mutex.h -> sys/mutex.h
- Catch up to the MI mutex structure due to saveflags,saveipl,savepsr
becoming saveintr.


Revision tags: vendor/gperf/2.7.2
# 9a25c236 12-Oct-2000 Bruce Evans <bde@FreeBSD.org>

Moved the definitions of AST_PENDING and AST_RESCHED to the correct place.


Revision tags: vendor/ncurses/5.1-20001009
# 6c567274 06-Oct-2000 John Baldwin <jhb@FreeBSD.org>

- Change fast interrupts on x86 to push a full interrupt frame and to
return through doreti to handle ast's. This is necessary for the
clock interrupts to work properly.
- Change the clock inter

- Change fast interrupts on x86 to push a full interrupt frame and to
return through doreti to handle ast's. This is necessary for the
clock interrupts to work properly.
- Change the clock interrupts on the x86 to be fast instead of threaded.
This is needed because both hardclock() and statclock() need to run in
the context of the current process, not in a separate thread context.
- Kill the prevproc hack as it is no longer needed.
- We really need Giant when we call psignal(), but we don't want to block
during the clock interrupt. Instead, use two p_flag's in the proc struct
to mark the current process as having a pending SIGVTALRM or a SIGPROF
and let them be delivered during ast() when hardclock() has finished
running.
- Remove CLKF_BASEPRI, which was #ifdef'd out on the x86 anyways. It was
broken on the x86 if it was turned on since cpl is gone. It's only use
was to bogusly run softclock() directly during hardclock() rather than
scheduling an SWI.
- Remove the COM_LOCK simplelock and replace it with a clock_lock spin
mutex. Since the spin mutex already handles disabling/restoring
interrupts appropriately, this also lets us axe all the *_intr() fu.
- Back out the hacks in the APIC_IO x86 cpu_initclocks() code to use
temporary fast interrupts for the APIC trial.
- Add two new process flags P_ALRMPEND and P_PROFPEND to mark the pending
signals in hardclock() that are to be delivered in ast().

Submitted by: jakeb (making statclock safe in a fast interrupt)
Submitted by: cp (concept of delaying signals until ast())

show more ...


Revision tags: vendor/misc-GNU/cvs/1.11, vendor/sendmail/8.11.1, release/4.1.1_cvs, vendor/openssh/2.2.0-2000-09-09
# 0384fff8 07-Sep-2000 Jason Evans <jasone@FreeBSD.org>

Major update to the way synchronization is done in the kernel. Highlights
include:

* Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The
alpha port is still in transition and c

Major update to the way synchronization is done in the kernel. Highlights
include:

* Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The
alpha port is still in transition and currently uses both.)

* Per-CPU idle processes.

* Interrupts are run in their own separate kernel threads and can be
preempted (i386 only).

Partially contributed by: BSDi (BSD/OS)
Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh

show more ...


Revision tags: vendor/bind/8.2.3.t5b-20000823, vendor/perl5/5.006.00.01, vendor/misc-GNU/awk/3.0.6, vendor/heimdal/0.2p-patch-2000-08-12, vendor/ipfilter/3.4.9, vendor/kerberosIV/1.0-patch-2000-08-12, vendor/ipfilter-sys/v3-4-9, vendor/sendmail/8.11.0, vendor/tzdata/tzdata2000f, vendor/SGI/vjs_20000806, vendor/isc-dhcp/2.0-fix_20000803, vendor/SGI/vjs_20000721, release/4.1.0, vendor/libpcap/1.26, vendor/isc-dhcp/2.0pl3_fix, vendor/isc-dhcp/2.0pl3, vendor/ipfilter-sys/v3-4-8, vendor/ipfilter/3.4.8, vendor/less/v358, vendor/isc-dhcp/2.0pl2, vendor/ncurses/5.1-20000701, vendor/isc-dhcp/2.0pl1, vendor/perl5/5.006, release/3.5.0, vendor/tcsh/6.09.01-20000610, vendor/gcc/cvs-20000603, vendor/openssh/2.1.0-2000-05-30, vendor/openssh/2.1.0-2000-06-03, vendor/gcc/2.95-20000526, vendor/bind/8.2.3.t5b, vendor/ncurses/5.0-19991023, vendor/ipfilter-sys/v3_4_4, vendor/ipfilter/3.4.4, vendor/less/v354, vendor/openssh/2.1, vendor/binutils/sourceware_binutils_anoncvs_20000512, vendor/binutils/sourceware_binutils-2_10-branch_anoncvs_20000512
# 9626b608 05-May-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on

Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on the
subject of nested includes.

Diskdrivers and similar stuff below specfs::strategy() should no
longer need to include <sys/buf.> unless they need caching of data.

Still a few bogus uses of struct buf to track down.

Repocopy by: peter

show more ...


Revision tags: vendor/tcsh/6.09.01-fix-history, vendor/tcsh/6.09.01-fix-20000418, vendor/tcsh/6.09.01, vendor/binutils/sourceware_binutils_anoncvs_19990502, vendor/binutils/sourceware_binutils_anoncvs_20000414, vendor/binutils/anoncvs_20000414, vendor/libgmp/2.0.2, vendor/openssl/0.9.5a, vendor/tcsh/6.09, vendor/opie/2.32, vendor/binutils/2.9.1, vendor/gcc/2.95-20000329, vendor/tzdata/tzdata2000d
# 36e9f877 28-Mar-2000 Matthew Dillon <dillon@FreeBSD.org>

Commit major SMP cleanups and move the BGL (big giant lock) in the
syscall path inward. A system call may select whether it needs the MP
lock or not (the default being that it does need it).

Commit major SMP cleanups and move the BGL (big giant lock) in the
syscall path inward. A system call may select whether it needs the MP
lock or not (the default being that it does need it).

A great deal of conditional SMP code for various deadended experiments
has been removed. 'cil' and 'cml' have been removed entirely, and the
locking around the cpl has been removed. The conditional
separately-locked fast-interrupt code has been removed, meaning that
interrupts must hold the CPL now (but they pretty much had to anyway).
Another reason for doing this is that the original separate-lock for
interrupts just doesn't apply to the interrupt thread mechanism being
contemplated.

Modifications to the cpl may now ONLY occur while holding the MP
lock. For example, if an otherwise MP safe syscall needs to mess with
the cpl, it must hold the MP lock for the duration and must (as usual)
save/restore the cpl in a nested fashion.

This is precursor work for the real meat coming later: avoiding having
to hold the MP lock for common syscalls and I/O's and interrupt threads.
It is expected that the spl mechanisms and new interrupt threading
mechanisms will be able to run in tandem, allowing a slow piecemeal
transition to occur.

This patch should result in a moderate performance improvement due to
the considerable amount of code that has been removed from the critical
path, especially the simplification of the spl*() calls. The real
performance gains will come later.

Approved by: jkh
Reviewed by: current, bde (exception.s)
Some work taken from: luoqi's patch

show more ...


Revision tags: vendor/gcc/2.95.2, vendor/gcc/2.95.1, vendor/openssh/1.2.3-2000-03-25, vendor/gperf/2.7
# 21144e3b 20-Mar-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd. The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise t

Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd. The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise to obvious coding
mistakes.

Also eliminate the redundant struct buf flag B_CALL, it can just
as efficiently be done by comparing b_iodone to NULL.

Should you get a panic or drop into the debugger, complaining about
"b_iocmd", don't continue. It is likely to write on your disk
where it should have been reading.

This change is a step in the direction towards a stackable BIO capability.

A lot of this patch were machine generated (Thanks to style(9) compliance!)

Vinum users: Greg has not had time to test this yet, be careful.

show more ...


Revision tags: release/4.0.0, vendor/libreadline/4.1, vendor/gcc/2.95-20000307, vendor/libpcap/0.5, vendor/openssh/1.2-2000-02-24, vendor/heimdal/0.2p, vendor/heimdal/0.2o, vendor/heimdal/0.2n, vendor/ipfilter/3.3.8, vendor/binutils/cygnus_sourceware_anoncvs_19990502, vendor/misc-GNU/grep/2.4d, vendor/tcpdump/3.5, vendor/ntp/4.0.99b, vendor/ncurses/5.0, vendor/gcc/2.95-20000120, vendor/misc-GNU/grep/2.4a, vendor/misc-GNU/texinfo/4.0, vendor/misc-GNU/bc/1.0.5a, vendor/openssl/0.9.4, vendor/ipfilter/3.3.6, vendor/groff/1.15, vendor/heimdal/0.2m, vendor/kerberosIV/1.0
# c453bba7 08-Jan-2000 Bruce Evans <bde@FreeBSD.org>

Compile genassym.c with ordinary ${CFLAGS}. The (small) needs for
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.

Makefile.*:
- Cleanups

Compile genassym.c with ordinary ${CFLAGS}. The (small) needs for
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.

Makefile.*:
- Cleanups associated with the old genassym.
- Fixed deprecated spelling of ${.IMPSRC} as "$<".

show more ...


# 3abe5082 07-Jan-2000 Marcel Moolenaar <marcel@FreeBSD.org>

Use genassym(1). The definitions of NKPDE and NKPT have been removed
because they are already defined in pmap.h, resulting in duplicate
definitions.

Reviewed by: bde


Revision tags: vendor/misc-GNU/grep/2.4, vendor/misc-GNU/grep/2.3, vendor/ext2fs/2.3.35
# 664a31e4 29-Dec-1999 Peter Wemm <peter@FreeBSD.org>

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is cons

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.

show more ...


Revision tags: release/3.4.0, vendor/NetBSD/fparseln_19990920, vendor/NetBSD/mailwrapper_19990529, vendor/OpenBSD/openbsd_fts_v1_22, vendor/sym/1.0.0-19991205_deo, vendor/misc-GNU/cvs/1.10.7, vendor/ntp/4.0.98f
# 91c28bfd 06-Dec-1999 Luoqi Chen <luoqi@FreeBSD.org>

User ldt sharing.


Revision tags: vendor/bind/8.2.2p5, vendor/sym/0.12.0-19991127_deo, vendor/sym/0.11.0-19991120_deo, vendor/sym/0.11.0-19991120, vendor/sym/0.10.0-19991111, vendor/sym/0.9.0-19991024, vendor/gcc/egcs-1.1.2, vendor/gcc/2.7.2.3, vendor/ipfilter/3.3.3, vendor/amd/6.0.3s1, vendor/flex/2.5.4
# 645682fd 11-Oct-1999 Luoqi Chen <luoqi@FreeBSD.org>

Add a per-signal flag to mark handlers registered with osigaction, so we
can provide the correct context to each signal handler.

Fix broken sigsuspend(): don't use p_oldsigmask as a flag, use SAS_OL

Add a per-signal flag to mark handlers registered with osigaction, so we
can provide the correct context to each signal handler.

Fix broken sigsuspend(): don't use p_oldsigmask as a flag, use SAS_OLDMASK
as we did before the linuxthreads support merge (submitted by bde).

Move ps_sigstk from to p_sigacts to the main proc structure since signal
stack should not be shared among threads.

Move SAS_OLDMASK and SAS_ALTSTACK flags from sigacts::ps_flags to proc::p_flag.
Move PS_NOCLDSTOP and PS_NOCLDWAIT flags from proc::p_flag to procsig::ps_flag.

Reviewed by: marcel, jdp, bde

show more ...


# 210430fd 07-Oct-1999 Marcel Moolenaar <marcel@FreeBSD.org>

Simplification of the signal trampoline and other cleanups.

o Remove unused defines from genassym.c that were needed
by the trampoline.
o Add load_gs_param function to support.s that catches

Simplification of the signal trampoline and other cleanups.

o Remove unused defines from genassym.c that were needed
by the trampoline.
o Add load_gs_param function to support.s that catches
a fault when %gs is loaded with an invalid descriptor.
The function returns EFAULT in that case.
o Remove struct trapframe from mcontext_t and replace it
with the list of registers.
o Modify sendsig and sigreturn accordingly.

This commit contains a patch by bde.

Reviewed by: luoqi, jdp

show more ...


# c5c6b7b3 04-Oct-1999 Marcel Moolenaar <marcel@FreeBSD.org>

Re-introduction of sigcontext.

struct sigcontext and ucontext_t/mcontext_t are defined in such
a way that both (ie struct sigcontext and ucontext_t) can be
passed on to sigreturn. The signal handler

Re-introduction of sigcontext.

struct sigcontext and ucontext_t/mcontext_t are defined in such
a way that both (ie struct sigcontext and ucontext_t) can be
passed on to sigreturn. The signal handler is still given a
ucontext_t for maximum flexibility.

For backward compatibility sigreturn restores the state for the
alternate signal stack from sigcontext.sc_onstack and not from
ucontext_t.uc_stack. A good way to determine which value the
application has set and thus which value to use, is still open
for discussion.

NOTE: This change should only affect those binaries that use
sigcontext and/or ucontext_t. In the source tree itself
this is only doscmd. Recompilation is required for those
applications.

This commit also fixes a lot of style bugs without hopefully
adding new ones.

NOTE: struct sigaltstack.ss_size now has type size_t again. For
some reason I changed that into unsigned int.

Parts submitted by: bde
sigaltstack bug found by: bde

show more ...


12345678910>>...71