Commit Graph

23016 Commits

Author SHA1 Message Date
Michael Lotz
cfc9593fa8 Fix possible though unlikely SMP issue reported by Robert Szeleney. One must
not use a single static variable to synchronize CPUs at two points. In an
environment where CPUs do not really run concurently (in emulation or with
logical processors) it would be possible for CPUs to get trapped in the first
synchronization while another CPU might just do its thing and change the
sync variable again. These CPUs would then never leave the first loop as the
exit condition has already passed again. The key is to use two different sync
variables like it is done in early kernel initialization. As I didn't manage
to trigger this code though I am not sure if this is gonna work.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 23:19:28 +00:00
Jérôme Duval
2836442b70 window is not zoomable, bug #1761
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 20:21:32 +00:00
Oliver Ruiz Dorantes
6ad588aae8 Added remaining event IDs I saw in new Bluetooth 2.1 specs plus some internal stack haiku is gonna use
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:56:08 +00:00
Jérôme Duval
4bbe697365 fix warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:33:53 +00:00
Jérôme Duval
6be75ff237 fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:31:49 +00:00
Ingo Weinhold
7486b72dd1 Added some kernel tracing to the runtime loader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:22:39 +00:00
Ingo Weinhold
0c221f53a3 Also check the syscall number to avoid problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:07:26 +00:00
Ingo Weinhold
3d779beaa3 Don't invalidate the syscall number, since that's not handled graciously
in the syscall handler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:06:03 +00:00
Ingo Weinhold
3832c7ec7f Always clear the THREAD_FLAGS_64_BIT_SYSCALL_RETURN flag, even when
using the int 99 syscall method. Otherwise it would remain set e.g.
after _kern_restore_signal_frame() and the next syscall would look like
one returning a 64 bit value.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:04:38 +00:00
Ingo Weinhold
385627911c Debug code. From time to time I still see 64 bit return values when they
should be 32 bit only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 16:04:24 +00:00
Ingo Weinhold
ed854de770 Also include info about the syscall return type in the
extended_syscall_info structure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 16:03:00 +00:00
Axel Dörfler
6f58064f10 * Added flags field in net_protocol_module_info; there is currently a single
defined flag: NET_PROTOCOL_ATOMIC_MESSAGES.
* socket_send() now honours NET_PROTOCOL_ATOMIC_MESSAGES and returns either
  EMSGSIZE if the data to be send is larger than net_socket::send::buffer_size,
  or divides the data in appropriately sized chunks.
* This fixes sending >=64K over a TCP socket at once (TCP would just have
  returned an error in that case).
* TCP now overrides the default send buffer size (to 32768 for now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 15:09:19 +00:00
Stefano Ceccherini
032f765603 Also set the scrollbar steps when the terminal size changes.
Moved SetFlags() from _InitObject() to unarchiving constructor as other 
constructors already set the flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 15:06:30 +00:00
Stefano Ceccherini
1d7596167d Call BScrollBar::SetSteps() with the correct values also on font change,
and when a scrollbar is attached. Fixes bug #1759


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:52:16 +00:00
Stefano Ceccherini
ffa3002c15 We don't need TermView.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:38:10 +00:00
Stefano Ceccherini
4882883b6f AppearPrefView was mixing up flags and resizing mode. Fixed.
Also set the flag B_PULSE_NEEDED (for the blinking cursor) in TermView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:14:02 +00:00
Stefano Ceccherini
a2186f4a81 print also the view name in case it mixes up flags and resizing mode.
Helps identifying it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:12:49 +00:00
Stefano Ceccherini
e4f975d47a Set the low and view color on construction, and set the B_WILL_DRAW flag
too, since we can't do anything without it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 13:30:39 +00:00
Stefano Ceccherini
c9aadc4f63 Added a pretty useless test app to show that embedding a TermView in
another apps works correctly (minus the blinking cursor, we'll see why 
it doesn't)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 13:29:41 +00:00
Ingo Weinhold
397a6cee6a Use thread_yield(false) instead of snooze(100) for reseeding. This makes
the driver actually usuable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 11:42:18 +00:00
Ingo Weinhold
9835c090a6 Added a boolean "force" parameter to thread_yield(). When true, the
function has the old behavior. When false, it just calls the scheduler
without any priority adjustment or other stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 11:40:31 +00:00
Stefano Ceccherini
d082779211 Rewrote Input.h, adjusted Input.cpp accordingly, added nothrow on
allocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 10:50:39 +00:00
Ingo Weinhold
f38b49f162 Added small test program that opens and reads a few bytes from
/dev/urandom. It verifies that Haiku's dev/urandom is performance-wise
totally unusable -- it takes several seconds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 02:22:48 +00:00
Ingo Weinhold
7025a0386d Added cc and c++ wrapper scripts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 00:26:02 +00:00
Philippe Houdoin
7b344764b5 * Added marvell_yukon driver, tested on real hardware
(P5W-DH motherboard have two of those gigabit ethernet controllers),
  seems to work fine.
* Add libglut.so alias to the development libs symlinks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 23:14:37 +00:00
Philippe Houdoin
6198a9798e Made DPC module binary compatible with BeOS one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 23:10:13 +00:00
Marcus Overhagen
05b79eadff Removed the no longer needed debug code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 22:08:25 +00:00
Axel Dörfler
c8679751f6 * Added RAWTranslator to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 18:15:43 +00:00
Oliver Ruiz Dorantes
2f7e4b7c05 Add bluetooth error codes according 2.1+EDR official specs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 18:00:04 +00:00
Oliver Ruiz Dorantes
c9502bbe71 Added macros to parse port code, cointaining the event
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 17:57:29 +00:00
Axel Dörfler
392eb518d5 * Added gcvt() implementation - this fixes bug #1757.
* Added gcvt(), ecvt(), and fcvt() prototypes to stdlib.h - they are all
  marked legacy, but are still part of the POSIX standard, so we might want
  to implement them if the need arises.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 17:11:02 +00:00
Ingo Weinhold
b2b8943d50 Beginnings of an optional "Development" package. Currently only the glue
code and the library symlinks are installed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 13:22:14 +00:00
Axel Dörfler
0b26e0b1d4 * When removing a media, only the device was unmounted if needed, not its child partitions.
Not sure if this is the right place, Ingo might want to review that one.
* This fixes unmounting sessions of a multi-session CD, ie. the BeOS CD (it currently panics
  when trying to access a device that's not there anymore - for debugging only, of course :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:46:44 +00:00
Ingo Weinhold
5d84643b03 Renamed the ALM test programs to be less likely to clash with others.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:19:59 +00:00
Axel Dörfler
dbc1da17ed * devfs now uses the driver's name instead of its node_ref to see if it
already knows this driver.
* This should also allow to have a driver in home/config/add-ons/... overlays
  a driver with the same name in system/add-ons/...
* This should also fix bug #1750.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:13:14 +00:00
Axel Dörfler
217d31eac9 Session needs a higher priority than ISO 9660 or the latter might "steal"
multi-session CDs. Maybe partitioning systems should give preference over
file systems, though.
This fixes bug #1634.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:00:26 +00:00
Ingo Weinhold
05d8f5251b * Added James Kim to the list of contributors.
* Added temporary copyright entry for lp_solve as a placeholder, until I
  know what it should say.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:59:34 +00:00
Ingo Weinhold
a101e99aad Added libalm.so and its dependency liblinprog.so. libalm.so provides a
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:51:44 +00:00
Ingo Weinhold
38d596cb81 * Moved public headers to headers/libs/lp_solve.
* Added Jamfile by James Kim and Christof Lutteroth.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:37:19 +00:00
Ingo Weinhold
9e8bb5d036 Copying lp_solve 5.5.0.11 to trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:29:46 +00:00
Ingo Weinhold
db52d16ef8 Applied r23800 to the PXE trampoline code, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 23:59:17 +00:00
Axel Dörfler
d0466f7f64 Added ipro100 driver. Tested on real hardware and it seems to work fine.
This also closes ticket #1748.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 22:18:14 +00:00
Axel Dörfler
87618c5b55 * Added bridge device ID for i865.
* Added other IDs from the graphics driver, but I need to look up
  their bridge IDs before actually adding them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 22:15:15 +00:00
Ingo Weinhold
80b2da5e53 Patch by Samuel Rodriguez Perez: Added support for writing Haiku
directly onto a device under FreeBSD.

I messed around with the code a little (style-fixes, some refactoring)
without being able to compile or test it, so be careful...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 20:54:42 +00:00
Michael Lotz
0d83dc06e3 * Use 0xdeadbeef as an indicator to only conditionally walk the freelist.
This is not safe when already freed memory is overwritten. But since we also
  store the next pointer of the freelist in there, overwriting would break the
  freelist and cause a crash in that case. This gives a drastic performance
  boost when freelists grow during use and especially when opening and closing
  a lot of programs.
* Optimize filling the freed element with 0xdeadbeef by writing 4 bytes at a
  time instead of using single byte writes. Works as all our bins have an
  element size that is a multiple of four. Put a panic in there just in case
  this assumption isn't met for some reason.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 20:21:44 +00:00
Ingo Weinhold
f54626a7ae Converted to UNIX line breaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 19:40:26 +00:00
Stephan Aßmus
fd6477d3e6 I tried to follow the example of PartitionMapAddOn and implemented more
stuff for the ExtendedPartitionAddOn. If I understand correctly, from the
point of view of the Disk Device API, ExtendedPartitionAddOn is a disk system
which supports child partitions and is analogous to PartitionMapAddOn. The
type string for the supported child partitions is probably wrong, since I
used "Intel Logical Partition".... In fact, the types currently returned by
PartitionMapAddOn are not as intended either. We will have to think of how
we want this particular feature to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 17:57:40 +00:00
Stephan Aßmus
af4ad10c3e I took the liberty of implementing GetNextSupportedType(), which is needed
to be able to call BPartition::GetNextSupportedChildType(). For the 
PartitionMapAddOn, the types should be either primary or extended, depending
on the number of empty primary partitions and the existance of one
extended partition. DriveSetup shows "Intel Primary Partition" and
"Intel Extended Partition" in the Create menu now. Ingo, please review,
maybe I didn't understand the plan correctly. Also, I tried to follow the
code path, which is quite nested, and am pretty confused.. For example,
I didn't find the place where the CreateChildJob is finally created. Is this
missing yet?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:23:19 +00:00
Stephan Aßmus
e0b3fc9796 IMHO these are a little better error codes. If fDelegate is NULL, it means
the BDiskDevice of a BPartiton has not been prepared for modifications. To
me, it means the initialization status of the object does not support the
operation, hence B_NO_INIT. B_BAD_DATA hints to me that I have passed invalid
data to a function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:16:22 +00:00
Stephan Aßmus
70c8595603 Spotted a leak while trying to understand what's happening.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:13:14 +00:00