Commit Graph

22 Commits

Author SHA1 Message Date
fvdl ae4b76c8d3 New interrupt code. The basic idea behind it is to hide the differences
in interrupt controllers in struct pic, and try to keep as much
common code as possible. At the lowest (asm) level, this is done
with CPP macros.

The main structure is now struct intrsource, describing an established
interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic).
For quick masking, there may be a maximum of 32 sources per CPU.
Sources can be assigned to any CPU in the MP case, though currently they
all go to the boot CPU.
2002-11-22 15:23:35 +00:00
thorpej 3a00c62229 Move the IDTVEC() macro to <machine/asm.h>, and make it work with
an ISO C preprocessor.
2002-05-31 18:07:31 +00:00
drochner 5245358400 for ELF, put RCSID string into .ident section,
add __KERNEL_RCSID macro which is undefined in case of NO_KERNEL_RCSIDS
2002-01-13 12:44:31 +00:00
mycroft e06ad67fa5 Remove ALTENTRY(). It's dangerous and should not be used. 2000-12-14 20:15:26 +00:00
kleink 133ea38323 Add a WEAK_ALIAS() macro. 2000-06-23 12:18:45 +00:00
marc e1e554ac35 charles was on drugs. There's no such thing as #elifdef. 1999-11-09 02:25:33 +00:00
mycroft 277394fdd3 Fix WARN_REFERENCES() here for the ELF case. 1999-11-07 07:20:26 +00:00
kleink 0b9965d236 For ELF, rename the profiling entry from mcount to __mcount to avoid clashing
with the user's namespace, also within file scope; for binary compatibility,
define a weak alias for the previous name to cover our tracks.
1999-09-27 09:47:44 +00:00
kleink 5663256d0a Unlike in an i386 a.out assembler, where in an .align n directive n is meant
to be the logarithm to base 2 of the alignment, in an ELF environment n is
the actual alignment boundary; thus, adjust the directives accordingly.

Albeit the wonderful i386 architecture doesn't mind the smaller alignment in
an obvious way, it is likely to have resulted in some performance penalty
during the a.out->ELF transition.
1999-08-23 08:24:36 +00:00
christos c7f9823bf0 C_LABEL has no _ if __ELF__ 1998-12-23 15:09:48 +00:00
thorpej da572a137f Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES(). 1998-12-02 21:16:46 +00:00
thorpej a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
thorpej bbf08442c7 Define the ALTENTRY() macro here. 1997-07-05 20:49:19 +00:00
fvdl 380174248f Change asm.h to make it usable for kernel profiling as well.
Make mcount() a prototype in profile.h
1996-12-04 00:03:41 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
jtc b3b55d02f1 Misc changes to make this file more like the asm.h headers used by other
architectures:
	Renamed _C_FUNC() to _C_LABEL()
	Renamed _ASM_FUNC() to _ASM_LABEL()
	Merged _BEGIN_ENTRY with _ENTRY
	Renamed _END_ENTRY to _PROF_PROLOGUE

When assembling with profiling enabled, set up stack frame before calling
mcount() in _PROF_PROLOGUE.  Also omit emitting .long 0's, as they are no
longer used by the profiling code.
1994-09-02 05:02:47 +00:00
jtc 427a14083c Added RCSID macro, for RCS ID's (what else?). 1994-03-12 01:23:21 +00:00
pk 6f81dd8136 Add .type directive to ENRTY().
Move PIC_ macros over here from SYS.h
1994-01-07 00:46:20 +00:00
mycroft 2250fff236 Cleanup and garbage collection; nothing significant. From magnum branch. 1993-12-20 05:25:02 +00:00
jtc aabddf622f STDC -> __STDC__ 1993-09-08 16:55:17 +00:00
mycroft 409bc91101 Move asm.h from /usr/include/sys to /usr/include/machine. 1993-06-16 21:42:43 +00:00