18 Commits

Author SHA1 Message Date
Axel Dörfler
b20667b35b {install|remove}_io_interrupt_handler() now correctly handle the B_NO_ENABLE_COUNTER flag.
Lots of cleanup:
- moved B_NO_ENABLE_COUNTER flag definition out of int.h to KernelExport.h, as it's
  described in the BeBook (although it's probably not really used that often :))
- int.c no longer has any platform dependent code (+ 0x20 on interrupt numbers is gone);
  it's now entirely handled in the arch/x86/ section.
- the io_vectors[] is now statically initialized, instead of allocated from the heap
- removed {install|remove}_interrupt_handler(); they weren't that useful, arch_smp_init()
  is now calling install_io_interrupt_handler() correctly instead
- introduced a new arch_int.h header file that currently contains NUM_IO_VECTORS only
  (though on x86, it also has ARCH_INTERRUPT_BASE == 0x20).
- changed the return type from {install|remove}_io_interrupt_handler() from "long" to
  "status_t"
- rearranged and cleaned the PIC initialization code, made the PIC code more prominent
- changed comments that talk about a non existing 8239 (the PIC chip is actually 8259)
- moved arch/x86/interrupts.h to the source directory, as it's not used outside
- added BeOS compatible interrupts_enabled() function, that should replace our
  equivalent (and private) are_interrupts_enabled()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 01:08:35 +00:00
Axel Dörfler
8be9e1dbae Added empty arch_user_debugger.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 06:11:08 +00:00
Axel Dörfler
a829700f98 Added missing arch_system_info.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 18:00:33 +00:00
Axel Dörfler
68b54c0db9 Introduced new arch_vm.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-10 18:48:31 +00:00
Axel Dörfler
99daf65959 Added definitions that describe the stack direction.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 14:43:28 +00:00
Axel Dörfler
8665123697 Added empty arch_fork_arg structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-04 16:46:02 +00:00
Axel Dörfler
3b00a056c7 Be's native types are no longer allowed in this file (because of the gensyscall utility).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-19 18:55:33 +00:00
Axel Dörfler
e03f6fcfe2 Added the arch_config.h file for PPC, moved some stuff out of arch_cpu.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 11:04:23 +00:00
Ingo Weinhold
75df143732 Introduced a macro specifying the type function parameters are aligned to. Not nice, but seems to help with the automatic generation of syscall code (at least on x86).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 20:15:19 +00:00
Axel Dörfler
f39e6cd6ec Added a definition for the MSR[EE] bit (MSR_EXCEPTIONS_ENABLED).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:05:31 +00:00
Axel Dörfler
db0fd9726e Added functions to set and get the segment register (as segment_descriptor).
Added constructors to block_address_translation and segment_descriptor
that will clear its memory (could be done more efficiently though, it just
uses memset()).
Added definitions for the MSR (machine state register).
Added tlbsync() macro (direct assembler call).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-21 03:07:44 +00:00
Axel Dörfler
8c1ae50791 Adoption of Travis' PPC code. Changed where needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:58:41 +00:00
Axel Dörfler
ecc5968ab8 Added some more CPU functions.
Added an alternative page_table_entry::SecondaryHash() signature.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-11 18:57:35 +00:00
Axel Dörfler
d3c6ba4606 Added some CPU specific functions ({get|set}_sdr1()).
Added MMU definitions for the PowerPC.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-08 00:28:07 +00:00
Axel Dörfler
b4d2f3a8e7 Renamed arch_stage2.h to arch_kernel_args.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:34:59 +00:00
beveloper
50e0ce4bee Implemented new syscalls for 32 and 64 bit atomic operations.
They are only used if the architecture doesn't support them directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:02:00 +00:00
Axel Dörfler
62af4ffa5e Added missing or changed/removed outdated PPC headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 12:49:57 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00