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