Commit Graph

85 Commits

Author SHA1 Message Date
Siarzhuk Zharski
5fbfe93a98 - CPU identification for 'Core i5 CPU M 430 @ 2.27' added. Reported by Evgeny Abdraimov.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-28 16:17:23 +00:00
Siarzhuk Zharski
408a0aa2f1 Identification for "Intel(R) Core(TM) i7 CPU Q 720 @ 1.60GHz" added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-11 06:41:13 +00:00
Ingo Weinhold
34a48c70ef Added type nanotime_t (an int64 storing a nanoseconds value) and function
system_time_nsecs(), returning the system time in nanoseconds. The function
is only really implemented for x86. For the other architectures
system_time() * 1000 is returned.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:43:19 +00:00
Ingo Weinhold
9c7b2520c2 Added get_pthread_thread_id() function returning the Haiku thread_id of a
pthread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-07 08:19:24 +00:00
Axel Dörfler
e628f41c49 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-14 12:51:19 +00:00
Stephan Aßmus
b2e0606edc Patch by "v" to distinguish between different processors with the same CPU-ID.
Slightly enhanced coding style by myself. Should fix ticket #3541. Thanks a
bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 11:54:28 +00:00
imker
adc602a44b Model string for Core i7 920 @2.66 added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-30 18:01:16 +00:00
Axel Dörfler
7af3465eb5 * Made set_timezone() argument const - it's not supposed to mess with it.
* Renamed time.c to time.cpp.
* set_timezone() now uses localtime_r() instead of localtime(), and will also
  no longer fail in case there was no timezone symlink before.
* Cleaned up OS.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-02 14:07:46 +00:00
Ingo Weinhold
c7d1aa192f Added system_info::abi field. It contains the system's ABI version, which
might be different from that of the caller (on hybrid builds).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-26 01:02:39 +00:00
Jonas Sundström
fa8a3a17c6 Staking out some mipsel ground.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 22:12:35 +00:00
Oliver Ruiz Dorantes
33941551de (Joerg Meyer) - Add Via processors IDs(Esther/Isaiah)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-10 15:13:20 +00:00
Oliver Ruiz Dorantes
f0c9d3e745 - Path by Joerg Meyer
- Add identification for Efficeon CPUs



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-03 23:04:30 +00:00
Stephan Aßmus
e1f3108a60 Patch by Scott:
Make sure the comments are C style in headers that are included by POSIX
headers.

Thanks! Should fix #2870.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-10 23:50:42 +00:00
Axel Dörfler
2c1e463c7e * Removed B_{MIN|MAX}_PRIORITY from OS.h - they were never really intended
as public defines. They are now called THREAD_{MIN|MAX}_SET_PRIORITY to
  better reflect what they are for. Minimum priority is now 1, ie. you no
  longer can set another thread to the idle priority. This fixes part of
  ticket #2959.
* set_thread_priority() will no longer allow to change the priority of the
  idle thread to something else. This fixes the rest of ticket #2959.
* Automatic whitespace cleanup in OS.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 18:11:58 +00:00
Jérôme Duval
b0b788ce0c fixed Atom id. Thanks katisu!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-07 20:59:30 +00:00
Jérôme Duval
dc08d5dc1e added B_CPU_INTEL_ATOM, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-04 19:08:05 +00:00
Jérôme Duval
27a76e1d73 added amd phenom cpu type, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 18:35:39 +00:00
François Revol
b409283372 Set max cpu count to 1 for ARM. Anyone knows a real SMP platform using it ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 21:48:18 +00:00
Ingo Weinhold
4d3680aaef Added timeout constant B_ABSOLUTE_REAL_TIME_TIMEOUT which specifies a
timeout relative to the Epoch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 21:34:51 +00:00
Ingo Weinhold
7727e08e5f Added experimental public API get_port_message_info_etc(). It is similar
to port_buffer_size_etc(), but returns the info through a structure,
which also identifies the sender (uid, gid, team ID) of the message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 17:46:02 +00:00
Bruno G. Albuquerque
044f45b2db - Another patch by Hervé W.
- Updated code so Processor IDs for older processor do not have to be 
modified.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 23:51:17 +00:00
Jérôme Duval
801fe71d43 added amd geode lx cpu type, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 17:20:46 +00:00
Bruno G. Albuquerque
9c383d9867 Applied patch by Hervé W.
- Updated Intel processor IDs.
- Only take extended family/model into account on Intel processors.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 07:27:12 +00:00
Jérôme Duval
7e11596a27 added athlon 64 model 3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 12:27:41 +00:00
Axel Dörfler
41f8d41647 Applied patch by Rene Gollent:
* Add a cached_pages field to the system_info structure, and change the
  meaning of the used_pages field to not include cached pages.
* Provide the needed info using the new calls vm_get_available_memory(),
  and vm_page_num_available_pages().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 11:51:45 +00:00
Bruno G. Albuquerque
7a66a9b8e4 - Added support in system info for extended cpu family and model.
- Take extended family and model into account when generating the cpu
  type and revision.
- Added Intel Core 2 Extreme to the cpu list.

Please review.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 16:44:05 +00:00
Ingo Weinhold
a54c125e37 Added experimental ktrace_[v]printf() functions to libroot. Their output
is recorded in a kernel trace entry (if tracing is enabled).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 15:10:05 +00:00
François Revol
6b3123cf2f Add the Amiga and Atari platforms (sorry to force a rebuild :p).
Mac is there already (TODO: rename some stuff from apple to mac).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-30 13:59:48 +00:00
François Revol
ae8bc15af5 Some more of m68k. Added errors where ports should add stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 23:43:11 +00:00
Ingo Weinhold
636bfc08ae * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of
vfs_select.h, respectively moved most of it into the new kernel
  private header wait_for_objects.h.
* Added new experimental API functions wait_for_objects[_etc](). They
  work pretty much like poll(), but also for semaphores, ports, and
  threads.
* Removed the "ref" parameter from notify_select_events() and the
  select_sync_pool functions as well as from fd_ops::fd_[de]select(). It
  is no longer needed. The FS interface select() hook still has it,
  though -- the VFS will always pass 0.
* de]select_fd() take a select_info* instead of a select_sync* + ref
  pair, now. Added respective functions for semaphores, ports, and
  threads.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 19:47:31 +00:00
Ingo Weinhold
2c97a8d164 Use -I instead of -isystem for system header directories when building
with gcc 4. Fixed resulting build errors (gcc is more lenient for
headers in -isystem directories).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 20:36:42 +00:00
Jérôme Duval
1e8adb7d89 added core and core 2 ids
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-24 10:33:50 +00:00
Axel Dörfler
b2c5594fd2 B_SYSTEM_TEAM is now 1 under Haiku which refers to the real kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-30 00:18:50 +00:00
Ingo Weinhold
716a16ce61 * Find out a few interesting information about the system (like CPU,
bus, and time base frequency) in the PPC boot loader, and propagate
  them to the kernel via kernel_args.
* Now we use the correct time base frequency for timer calculations.
* Implemented PPC specific system info stuff. Added a few PPC CPU
  types to <OS.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 13:30:23 +00:00
Axel Dörfler
348c7214f5 Improved processor identification for some VIA C3 models.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 11:55:01 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Axel Dörfler
9235adf794 The cpuid "extended features" in function 1/%ecx aren't Intel only anymore - my
AMD docs were not up to date. Thanks to Herve for the note.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 18:26:41 +00:00
Axel Dörfler
1c016e0e3f Cleaned up OS.h a bit more.
Return type of thread_func is now status_t instead of the previous int32.
Added some more cpuid_info fields - many fields aren't just reserved anymore.
"sysinfo" now supports the extended features of Intel CPUs, and also knows
the "HTT" bit of the standard features indicating the hyper-threading capability.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-26 22:46:30 +00:00
Marcus Overhagen
794df3bf25 This removes the inline assembly code for find_thread
from OS.h, sorry for triggering a complete rebuild.
To avoid doing a syscall for find_thread(0), the assembly
version is now in libroot. For BeOS R5 compatibility, 
_kfind_thread_ is retained. This will fix some compile 
problems, and provides a cleaner OS.h for future Haiku
versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:57:11 +00:00
Axel Dörfler
183dee22cb Unlike R5, receive_data() could return an error code under Haiku - this
can now only happen if the thread is killed.
_user_receive_data() will now longer pass B_CAN_INTERRUPT to receive_data(),
but B_KILL_CAN_INTERRUPT - this should fix the problem Stefano experienced
with this function, even if I couldn't reproduce it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 11:14:37 +00:00
Jérôme Duval
5258e67dff Courtesy of Olivier Coursiere (aka oco), based on documentation (feel free to check against real hardware)
Adds latests IDs from Intel docs
Adds some Sempron IDs
Renamed Athlon 64 to be consistent with Intel names
Adds IDs in cpu_type.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-17 22:46:08 +00:00
Ingo Weinhold
576c52f8b1 Added the gcc printf format attribute for debug_printf(), so that gcc warns about format/parameter inconsistencies.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:25:57 +00:00
Axel Dörfler
34e92cad76 Added and implemented new system calls switch_sem() and switch_sem_etc(); even if
they are public now, they might become private later on.
It's almost the same as acquire_sem() but allows you to release another semaphore
atomically. This makes condvar implementations and the like very simple to do.
Added B_CHECK_PERMISSION flags to the user calls, although it's not honored yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 22:35:00 +00:00
Ingo Weinhold
17e41f5251 Added new semaphore flag B_KILL_CAN_INTERRUPT. It makes acquire_sem_etc()
interruptable by SIGKILL[THR], even if B_CAN_INTERRUPT is not set. Not
sure, if this is the best solution, but it works.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-25 14:10:41 +00:00
Ingo Weinhold
06f5fe61a2 * Removed B_USER_CLONEABLE_AREA. The value conflics with other flags and
it does belong to <KernelExport.h> anyway.
* Reverted the protection flags back to decimal for consistency with the
  other places. BTW, since when do we use decimals for flags?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:54:22 +00:00
Ingo Weinhold
6e9582baf1 Introduced new protection flag B_USER_CLONEABLE_AREA. It makes kernel areas cloneable for userland apps.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:11:59 +00:00
Ingo Weinhold
57b6c3bcad * Changed return value of read_port[_etc] from status_t to ssize_t. That's
not how it is declared in R5, but it is what actually is returned.
* Temporarily added debug_[v]printf() functions for userland usage,
  equivalent to dprintf() in kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:41:14 +00:00
Axel Dörfler
c05649ebef Fixed a typo reported by John Drinkwater.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-28 16:38:48 +00:00
Axel Dörfler
bc93cc3fa7 Happy source compatibility breaking:
- Removed the OBOS_CPU_TYPE stuff - our types are now always defined.
- Made the cpu types consistent, renamed X86 to x86.
- cpuid_info.eax_1 now also contains the extended family/model info.
- Renamed cpuid_info.eax_0.vendorid to vendor_id.
- changed B_CPU_x86_VENDOR_MASK to 0xff to make some space for future changes.
- added some more CPU types (if anyone knows more Transmeta IDs; I
  couldn't find more of them).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 03:36:48 +00:00
Axel Dörfler
d76bee070b Added a note to the new B_TEAM_USAGE_SELF/CHILDREN constants that they
are compatible to sys/resource.h definitions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-27 12:59:45 +00:00