Commit Graph

340 Commits

Author SHA1 Message Date
Ingo Weinhold
935486a09f Added some more EFLAGS bits.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-02 14:51:48 +00:00
Ingo Weinhold
86cc722477 * DR3 is used for holding the pointer to the current struct thread*, so
we only have 3 debug registers available for break-/watchpoints.
* Added definitions for debug status register DR6. Reordered DR7 defs to
  ascending order. Added definitions for the EFLAGS flags we need.
* Added arch_thread_debug_info structure and related definitions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-02 00:05:02 +00:00
Ingo Weinhold
98b14f8a6a * Made i386_get_current_iframe() static again, since it wasn't what was
needed to get the topmost user iframe. Added i386_get_user_iframe() for
  exactly that purpose.
* Added reinitialization of user debugging for the new thread when
  switching the context.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-01 23:56:52 +00:00
Ingo Weinhold
c8d7534e5d * Made C++ save.
* Made the parameter for restoring the FPU state const.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-01 23:52:09 +00:00
Ingo Weinhold
00a2b607d8 Added functions for clearing/destroying the architecture specific thread
debug info.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-01 23:49:20 +00:00
Ingo Weinhold
8ae64a82eb x86 specific user debugging support definitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-28 00:44:41 +00:00
Ingo Weinhold
dd07f6001d * Added functions for clearing/destroying the architecture specific team
debug infos.
* Added function for setting the CPU state.
* Added functions for setting break-/watchpoints.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-28 00:43:43 +00:00
Ingo Weinhold
fc0eb1b266 Prevent cyclic inclusion.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:53:12 +00:00
Ingo Weinhold
05916979f9 Export i386_get_current_iframe() so it can be used in arch_user_debugger.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:49:41 +00:00
Ingo Weinhold
98dbeb36df Added note to keep struct iframe in sync with the struct cpu_state.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:47:54 +00:00
Ingo Weinhold
c7eab67fe1 Architecture specific debugger interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:44:48 +00:00
Ingo Weinhold
f19279abda Danger! The size of empty structures differs between C and C++, so we have to put something in, if we want to use them from both.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-10 02:59:37 +00:00
Axel Dörfler
f1a2f39517 Added arch_rtc_init() function prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:28:40 +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
3278ab8475 Made header C++ safe. Added new function prototype for arch_dbg_con_init_settings().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:43:48 +00:00
Axel Dörfler
c2c20b7848 Incorporated some code from NewOS to set up a double fault handler.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 01:46:46 +00:00
Axel Dörfler
97dda329ed Some header work to reduce dependencies. Also fixes the debug build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:22:45 +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
c44645aa42 vm.h was not used anywhere.
Introduced new arch_vm.h ("public" arch headers have the arch_ prefix).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-10 18:43:26 +00:00
Axel Dörfler
b385f97e3e Added our first x86-only syscall for get_cpuid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 03:54:23 +00:00
Axel Dörfler
545ecbe86d Extended the get_system_info() mechanism; it now gets info about threads/teams
as well as architecture specific stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-30 21:06:11 +00:00
Axel Dörfler
a3129fbc3b Added cpu_clock_speed field for now - might either be moved to the main
kernel_args; depending on how it'll be done on PPC.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-30 20:57:36 +00:00
Axel Dörfler
86a48e24ad Got inspired by mmu_man's dmidecode release and added a simple identification
of BIOS32, SMBIOS, and DMI services.
Also implemented a get_bios32_service() function which you can use to get
access to that service (ie. for use by the PCI bus manager).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-29 20:42:04 +00:00
Axel Dörfler
4cf2317767 Replaced reboot() by arch_cpu_shutdown().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 20:16:20 +00:00
Axel Dörfler
6a689590ce Removed unneeded includes of ktypes.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 19:40:05 +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
cc67a158ee Added function for an early boot message before anything else (because of
an error, there is supposed to be one of these at maximum right now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 23:29:00 +00:00
Axel Dörfler
63be222e2f Added a arch_thread_init() function prototype.
Changed return types to status_t where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 22:08:48 +00:00
shatty
a539f68be5 remove static from non-ARCH_x86 thread function prototypes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-24 09:08:37 +00:00
Axel Dörfler
b0d8e689ac Renamed some more init2 routines to init_post_vm() to make it clearer when
and why they are called.
Introduced a cpu_init_post_vm() that will now call arch_init_post_vm() instead
of letting main() doing it.
Fixed some return types (mostly from int to status_t).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-21 01:41:29 +00:00
Axel Dörfler
afad65ded7 Replaced all remaining PAGE_SIZE with B_PAGE_SIZE, addr with addr_t.
Removed the definition of PAGE_SIZE and addr.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-20 00:33:06 +00:00
Axel Dörfler
67a53f72af - the arch_vm_translation_map.c exported functions now have the arch_ prefix
- the above file now also exports a function to finally complete the kernel's
  address space translation map after semaphores became available (was just
  not done before)
- renamed some functions, especially the *_init2() functions are now called
  like *_init_post_area() to indicate they are called after the area functionality
  became available
- removed the _struct suffix from certain structures
- fixed some return types
- added prototype for vm_free_unused_boot_loader_range() to be called by
  arch code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-19 23:19:10 +00:00
shatty
c811895a7e static functions need static prototypes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-18 09:10:20 +00:00
Axel Dörfler
a8673f45bf Added prototypes for arch_{store|restore}_fork_frame().
Removed broken arch_thread::current_iframe field.
Introduced new arch_fork_arg structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:57:31 +00:00
Axel Dörfler
3490a4becc No longer needs the arch_thread.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:54:03 +00:00
Axel Dörfler
a78a421de8 Renamed sleep() to spin() as that's what it does, and sleep() also doesn't
like unistd.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 13:43:57 +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
b07e2ab15f uint32 -> unsigned int. No need to rely on defined types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 23:12:23 +00:00
Axel Dörfler
c2d416e259 Partially covered by arch_config.h and support/ByteOrder.h now/already.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 14:18:46 +00:00
Axel Dörfler
1aaaa3689a Moved some arch dependent config information to this new file (from arch_cpu.h).
There is probably more that could be moved in here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 13:08:06 +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
3999c1f3ec Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 18:15:25 +00:00
Axel Dörfler
a8061da698 Removed system_time() prototype; it's already defined in OS.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:31:15 +00:00
Axel Dörfler
8131e02c55 Made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:24:42 +00:00
Axel Dörfler
bbd8e7fbd9 Removed unneeded prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-15 00:56:02 +00:00
Axel Dörfler
4a2e872cca Applied NewOS change 1914: moved APIC setup into the kernel due to a
problem with the APIC clock speed test.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 22:54:00 +00:00
Axel Dörfler
c27ed74e34 Replaced timer.h with a cpp safe version.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 21:08:25 +00:00
Axel Dörfler
7d154f91ff arch_setup_signal_frame() can now fail.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 17:58:11 +00:00
Axel Dörfler
ac526351a8 Removed user_strncpy()/strcpy() and backends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:26:08 +00:00
Axel Dörfler
e45975b879 Definitions were doubled in vm_translation_map.h and arch/vm_translation_map.h.
The former now only contains the structure definitions, while the other one
contains the arch-specific function prototypes (which do not have the arch_
prefix).
Added a ToDo comment to remember cleaning this up one day.
Made all headers C++ safe, simplified where possible.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:10:00 +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
229ad83bf8 Renamed arch_int_is_interrupts_enabled() to arch_int_are_interrupts_enabled().
Replaced definitions for enable_interrupts() and are_interrupts_enabled()
with static inlines.
Made int.h C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 17:55:20 +00:00
Axel Dörfler
a34e8cc39f Applied our style guide, made the headers C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 11:58:21 +00:00
Axel Dörfler
2218f79ede Added real-time clock support written by Jeff Ward (for the kernel).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 10:21:10 +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
fb7bec78e3 Created a new arch-specific vm_translation.h header - it's not included
in this file.
Moved the vm_translation_map_get_pgdir() function to the x86 specific
header.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:36:38 +00:00
Axel Dörfler
db5620838a Moved the vm_translation_map_get_pgdir() function from arch/vm_translation_map.h
into this file (and replaced the prefix with i386_).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:35:12 +00:00
Axel Dörfler
57c3918258 Added the arch_cpu_sync_icache() function from NewOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 12:53:45 +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
Axel Dörfler
f432eca440 Now use the new kernel_args.h header file.
Added C++ guards.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 21:56:32 +00:00
beveloper
5fe840b9b5 fixed address checking in ppc atomic functions.
fixed compilation on x86.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:36:06 +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
beveloper
40ac5c5195 cvs server: Up-to-date check failed for `src/kernel/core/vm/vm.c'
cvs [server aborted]: correct above errors first!
cvs commit: saving log message in /tmp/cvsFPtfaj


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:48:15 +00:00
beveloper
867695ddb7 architecture specific CPU things, like defines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:29:36 +00:00
Axel Dörfler
ff6ff33a9d Put spaces between "::" in the asm directive to let it compile in C++ mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-20 03:02:19 +00:00
Axel Dörfler
c0f5672484 Removed unused functions, the C++ extern "C" now spans over all functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-13 15:23:17 +00:00
Axel Dörfler
c17f45d123 Some header cleanups.
Renamed dbg_save_registers() to arch_...() since it's arch dependent.
Removed unnecessary dependencies to stage2.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 14:12:16 +00:00
Axel Dörfler
f78d32a251 Some header cleanups.
Removed unused keyboard.h header.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 13:26:32 +00:00
Axel Dörfler
c4bf92f686 Added new arch_elf.h header where the platform dependent relocation definitions
are located.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 12:51:56 +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
Axel Dörfler
a02a5888af Added another argument parameter for the thread creation code. Helps
implementing a more efficient on_exit_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-18 09:21:22 +00:00
Axel Dörfler
9175b5a5e0 Cleanup of the header mess: removed the redundant APIC/mp structure definitions
from smp_priv.h and stage2_priv.h. Created a new file smp_apic.h which now
contains those definitions.
Made the APIC_xxx register offsets only base offsets (without referencing a
particular variable).
Other small cleanups (i.e. "unsigned int" to uint32).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-30 21:20:33 +00:00
Axel Dörfler
074a16b53e Added a private tls.h file with definitions for the reserved TLS slots.
Renamed i386_set_kstack() to i386_set_tss_and_kstack(), because that's what
it does.
Added a new function arch_thread_init_tls() which must be called after
having allocated the TLS area.
Renamed arch_thread_initialize_kthread_stack() to arch_thread_init_kthread_stack()
to be more consistent.
Changed the parameters for arch_thread_enter_uspace() - it now gets a pointer
to the thread structure and takes the user stack pointer from there (which
might also be architectural different).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-07 09:17:31 +00:00
Axel Dörfler
7208e95f0e Moved the gdt_idt_descr struct from arch_stage2.h to stage2_priv.h.
Moved the tss_descriptor structure to descriptor.h, updated it to be a
segment_descriptor structure, and provided inlines for set_tss_descriptor(),
set_segment_descriptor(), set_segment_descriptor_base(), and
clear_segment_descriptor().
Also added defines for the different privilege levels and descriptor types.
Removed the unusused and incorrect TSS definition, introduced new
TSS_BASE_SEGMENT and TLS_BASE_SEGMENT macros.
Removed include of arch/cpu.h in arch_cpu.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-06 08:02:44 +00:00
Axel Dörfler
7fae070584 Included NewOS change 1674. Moved private elf structures to elf_priv.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-30 13:34:25 +00:00
lillo
f510e6ce60 posix signals support, 1st pass
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 17:31:10 +00:00
Axel Dörfler
11fe0cb8de Added prototypes for the sys_/user_ attribute calls.
Changed the file_descriptor structure (more status_t, name removed).
Changed "extern inline" to "static inline" in thread.h/arch_thread.h as those
also work with -O0 -g.
Added prototypes for [arch_cpu_]user_strlcpy().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:19:57 +00:00
Axel Dörfler
4e3c12c0af Moved <types.h> to <sys/types.h>.
Removed dependencies on arch/x86/types.h - this file is not really used
anymore, now. Might prevent compiling on Windows, though.
Replaced "int" with "int32" for the id types.
Removed some stuff from ktypes.h because it didn't belong there.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:36:51 +00:00
Axel Dörfler
5ca8da7a4b Backported the new stack crawl command ("sc", not "bt" like in NewOS) from
NewOS. Untested yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 21:42:53 +00:00
lillo
3cfbecf1a6 First round of big changes: the term team has replaced proc all over the kernel, the few kern_* syscalls have been renamed to sys_* for consistency, and other small changes. The ps app is temporarily disabled until get_next_team_info is implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 00:41:27 +00:00
David Reid
40f83ea15d Add a new line at the end...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 22:28:59 +00:00
notion
fde77afb37 Ported my NewOS changes to OpenBeOS.
A couple of changes in various interrupt and thread functions and structures.
These make it now possible to change the stack at any time without making the kernel crash. This is needed for calling VESA 3.0 VBE functions through the protected mode interface.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 20:59:25 +00:00
David Reid
8a396015a1 There is no need for this to be here, so move it alongside the code
it refers to as that makes more sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:23:10 +00:00
Axel Dörfler
4635c565e4 Added the arch_cpu_idle() call.
Updated stage2_priv.h to reflect geist's, and freston's changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:15:47 +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