Some files renamed. Won't build yet with our usb_raw driver due to different namings. classes need to be B-prefixed anyway. USBKit.h needs to be split like in zeta as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19901 a95241bf-73f2-0310-859d-f6bbb57e9c96
some Pentium 200 MMX pretend to support MTRRs.
This should fix bug #553.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19899 a95241bf-73f2-0310-859d-f6bbb57e9c96
* libprint based drivers can now show a preview window and show progress
window while printing contributed in part by Hartmut Reh.
* Libprint and PCL6 driver bug fixes.
* Code clean-up (removed code duplications, coding style, copyright text)
Builds under Linux. Not tested under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19882 a95241bf-73f2-0310-859d-f6bbb57e9c96
this fixes bug #227 again (which I recently opened again accidently).
* We actually switched the last consumer's source without having acquired its
lock! This fixes some rare random app crashes as well as potential kernel
crash ("cache to be deleted still has consumers").
* Some more comments to explain why things are done and can be done the way they
are done :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19878 a95241bf-73f2-0310-859d-f6bbb57e9c96
Switcher now works as expected.
* Renamed TRoster::ActivateApp() to UpdateActiveApp(), as the app is already activated
at that point (the registrar only keeps track of it).
* BWindow::DispatchMessage() now calls the new BRoster::Private::UpdateActiveApp()
method when it receives a B_WINDOW_ACTIVATED message.
* Added BRoster::_UpdateActiveApp() which calls the new B_REG_UPDATE_ACTIVE_APP.
* Removed now unused B_REG_ACTIVATE_APP.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19857 a95241bf-73f2-0310-859d-f6bbb57e9c96
did for yellowTAB GmbH when I worked for then and is being used under permission.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19840 a95241bf-73f2-0310-859d-f6bbb57e9c96
* "sc"/"where"/"bt" now prints the area where the function of the stack frame
is located in case there is no other information (using the above function).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19800 a95241bf-73f2-0310-859d-f6bbb57e9c96
Pending DPCs at queue death time are now called too, to avoid possible leaks.
Meanwhile, queue_dpc() will refuse to add another DPC and returns B_CANCELLED.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19798 a95241bf-73f2-0310-859d-f6bbb57e9c96
two cache_refs - it needs to count the consumers of the lower cache to find
its actual number of references; the upper cache could still be in use by
someone else.
* There were several locking bugs in the VM code; since cache_ref::cache can
change, we must not access it without having the cache_ref locked.
* As a result, map_backing_store() now requires you to have the lock of the
store's cache_ref held.
* And therefore, some functions in vm_cache.c must no longer lock the cache_ref
on their own, but require the caller to have it locked already.
* Added the -s option to the cache/cache_ref KDL commands: it will only print
the requested structure, and not its counterpart (useful if accessing one
structure results in a page fault, as was possible previously).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19796 a95241bf-73f2-0310-859d-f6bbb57e9c96
Made the following changes from the version I got from Eric:
* made BppForSpace() in DriverInterface.h inline to remove some warnings
* renamed driver source files to lower case.
* removed Be Inc. copyright from kernel driver as I couldn't see anything coming
from Be Inc. there - correct me if I was wrong, Eric.
* Minor other changes like added missing header guards.
* The README provided in the main directory is only included in the accelerant
directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19793 a95241bf-73f2-0310-859d-f6bbb57e9c96
the userland stack in an unsafe way - moved that stuff to arch_thread_enter_userspace(), too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19778 a95241bf-73f2-0310-859d-f6bbb57e9c96
turned off - accessing userland memory. Now, arch_thread_enter_userspace() does that
job, and as a result, may also fail.
* dump_thread() now directly prints the info of the current thread when used without
argument (rather than iterating the thread list to look for the current thread).
* If arch_thread_init_tls() fails upon thread creation, the function will now return
an error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19775 a95241bf-73f2-0310-859d-f6bbb57e9c96
them to commit substantially less memory (we we're committing about 40 MB (!) too much
after a complete system boot). This means you'll run out of memory less likely now.
* fill_area_info() no longer filters out kernel protection flags - we may want to keep
filtering them when called from userland, though, dunno.
* Added new debugger command "avail" which shows how much memory has been committed, and
how much is regarded as free space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19771 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed most obvious issues, as reported by Marcus and Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19765 a95241bf-73f2-0310-859d-f6bbb57e9c96
to other kernel components.
* wait_for_thread_etc() will now search the team's death entries in case the
thread is already gone; also resume_thread() is now done later, and its return
code will no longer matter (as we already have our death entry, no matter if
the thread is gone now or not).
* The fibo_load_image test now works as expected (only tested with low numbers
yet, though - the mean testing comes later (first comes functionality) :-))
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19758 a95241bf-73f2-0310-859d-f6bbb57e9c96
in addr_range.h to add ranges to the arrays. This fixes the crashing bug reported
by Larry Baydak.
* Added some more exported functions to kernel_args.cpp (prototypes are in addr_range.h).
* TODO: let the PPC/OpenFirmware implementation use those as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19739 a95241bf-73f2-0310-859d-f6bbb57e9c96
app_server for this; added a new AS_IS_FRONT_WINDOW command for this.
For example, clicking on the menu bar to bring windows to front in FFM mode
does work now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19725 a95241bf-73f2-0310-859d-f6bbb57e9c96
* _ContrainPoint() was broken as it could never change the point it was supposed
to contrain.
* MouseDown() no longer sends a notification message automatically (only if it
changed something)
* MouseMoved() and synchronous MouseDown() will now only send modification messages
if something actually changed (not for every mouse update).
* After key presses, the invokation message is only sent when the value changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19697 a95241bf-73f2-0310-859d-f6bbb57e9c96
auto scrolling to its own method, introduced a new private
StyledWidthUTF8Safe method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19694 a95241bf-73f2-0310-859d-f6bbb57e9c96
is done from inside the BMenu::_track() function, and not inside Pulse()
anymore. Patch by Lucasz Zemczak
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19653 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Unified UTF8CountChars and UTF8ToLength and removed the latter
* Rewrote UTF8CountBytes to use the more safe algorithm from UTF8CountChars
* Removed the unsafe count_utf8_bytes() function
This should fix bug #839. Marcus can you please review?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19624 a95241bf-73f2-0310-859d-f6bbb57e9c96
app_server. I added it at the end. Feel free to move it to a better spot, if
there is one. Note that putting it in the middle with require recompiling a lot
of things.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19614 a95241bf-73f2-0310-859d-f6bbb57e9c96
* In grayscale mode, the AccelerantHWInterface now sets the palette correctly.
* HWInterface now has a fVGADevice set by AccelerantHWInterface which will be used
to talk to the VESA driver.
* Completed planar blitting for all 4 planes; we now have a perfect 16 color
grayscale mode when you choose "Standard VGA mode" in the boot loader with
an unsupported graphics card (such as in Qemu).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19567 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added an "owner" field that stores the team which created the socket (for netstat only);
we would need a different storage for SIGURG if we ever want to support that.
* Improved netstat address output: now prints "*" instead of INADDR_ANY.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19562 a95241bf-73f2-0310-859d-f6bbb57e9c96
of BFont. You can BFont::SetFalseBoldWidth(float) a width on a
BFont object, and it will cause the glyph shapes to be run through
an AGG "contour converter" so that they become thicker or thinner.
IIRC, this is commonly referred to as "false bold". The "width" value
is the distance in pixels that the new glyph outline will be offset
from the original outline.
It would be nice if someone could look at my change to View.h with
regards to the B_FONT_ALL flag.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19547 a95241bf-73f2-0310-859d-f6bbb57e9c96
me for the absolutely UGLY names. Also, if someone can suggest better
ones...
I seem not to have introduced any new bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19476 a95241bf-73f2-0310-859d-f6bbb57e9c96
Hardware GLRenderers will surely needs to check which screen device (so which window)
a GLView beg him to render to as fast as possible.
Unless such hardware is not serving this screen...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19464 a95241bf-73f2-0310-859d-f6bbb57e9c96
within the library - theoretically, this mechanism could be extended to
turn the compatibility layer on and off based on the images that call the
functions (allowing to mix R5 and BONE network add-ons in a single executable).
This change fixes R5 networking apps such as Vision, and NetworkTime (both
now seem to work fine under Haiku).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19431 a95241bf-73f2-0310-859d-f6bbb57e9c96
commented the insertion of the attribute name in patterns in the case of a string attribute
notify_probe_by_file chooses a module based on a bus specific suffix
dm_register_child_device has a parameter to optionally check the support for the node
added scanning of bus devices after the boot filesystem is mounted
fixed dm_rescan, locking was misbehaving
fixed SYSTEM_DRIVER_REGISTRATION definition
added B_DRIVER_MAPPING attributes for PCI and ACPI devices:
%vendor%_%device% for PCI, hid_%hid% and type_%type% for ACPI
moved acpi_device_module_info definition to public ACPI.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19394 a95241bf-73f2-0310-859d-f6bbb57e9c96
* cancel_timer() cancels a timer, and returns true if the timer was running
* is_timer_active() determines if the timer is currently running or not.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19393 a95241bf-73f2-0310-859d-f6bbb57e9c96
that can be set via setsockopt().
* For now, the struct tcphdr and its definitions are also part of the header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19383 a95241bf-73f2-0310-859d-f6bbb57e9c96
by the TCP implementation for its reorder and retransmit queues.
* The ipv4_fragment is no longer needed, as we can use the above field there
as well - this saves one extra allocation per received fragment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19369 a95241bf-73f2-0310-859d-f6bbb57e9c96
added a new style module to publish acpi devices ("listdev -d" to list them)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19322 a95241bf-73f2-0310-859d-f6bbb57e9c96
pretty close, and the number of loaded modules have a direct influence on
this (even though we're currently loading the symbols by default).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19320 a95241bf-73f2-0310-859d-f6bbb57e9c96
use Icon-O-Matic to create or edit icons
note to axeld: I'm messing with it right now, hope you're sleeping
and not messing with it too! :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19308 a95241bf-73f2-0310-859d-f6bbb57e9c96
there is some unfortunate code duplication in AppFileInfo,
because it cannot use BMimeType/BNode alone to retrieve icons,
now it works closer to the code in BIconUtils, this fixes
R5 icons not displaying for other icon sizes
* implemented a bilinear scaling function, I don't know if
it is very fast, but I hope it is reasonable. Now that I
see the results though, I wonder if R5 icons should be
scaled with nearest neighbor instead...
* corrected a small bug in the icon format stuff...
7 bit coords are -32-+95, not 96
* improved comment for BIconUtils function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19302 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added BBitmap(const BBitmap&, uint32 flags) constructor as found in Dano/Zeta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19270 a95241bf-73f2-0310-859d-f6bbb57e9c96
various places. Implemented SetLineMode op for BPicture, fixed shape
drawing (I accidentally broke it in the previous commit).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19264 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added a generic syscall for device_manager
it enables to iterate the device manager tree from userland
* the listdev tool is now using it: it's still incomplete as it only dumps nodes and attributes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19260 a95241bf-73f2-0310-859d-f6bbb57e9c96
and cancel_notification() functions.
* Completey dropped the old select code, as well as any R5 compatibility stuff. If
we ever need it again, it's still in SVN history.
* The socket module was put in uninit_driver() for no reason.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19256 a95241bf-73f2-0310-859d-f6bbb57e9c96
is not supposed to be called for accepted sockets, only for those created via
a call the userland socket() function.
* Renamed net_socket_module_info::socket() to open_socket() to make this distinction
a bit clearer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19254 a95241bf-73f2-0310-859d-f6bbb57e9c96
Hopefully fixed all the problems. Reported by
Marc Flerackers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19241 a95241bf-73f2-0310-859d-f6bbb57e9c96
only TCP needs this, other stream oriented protocols might too, in the future.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19236 a95241bf-73f2-0310-859d-f6bbb57e9c96
It's hopefully now used everywhere instead of B_RAW_TYPE where appropriate.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19219 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Corrected wrong ID association (0x4e50 is M11-based, not M10-based).
- Implemented fixed dividers support for laptop panel refresh rate.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19209 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added some missing result checks, mostly for allocations.
* Fixed a wrong precendence with the ?: operator
* Some minor cleanup.
* Renamed sBufferModule to gBufferModule - the header expects it to be a global,
so it should be named like one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19178 a95241bf-73f2-0310-859d-f6bbb57e9c96
This allowes to actually execute the boot loader now.
Need to use Ingo's remote_disk_server now for booting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19113 a95241bf-73f2-0310-859d-f6bbb57e9c96
* removed leagcy _sstream-header, we now use sstream, as both compilers provide it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19109 a95241bf-73f2-0310-859d-f6bbb57e9c96
in the code before).
* Added a SetTo() method to NetBufferHeader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19069 a95241bf-73f2-0310-859d-f6bbb57e9c96
* a vm_cache now maintains a list of its "consumer" caches.
* introduced to new functions that add/remove consumer to a cache (instead
of only maintaining the vm_cache::source field).
* fixed the incorrect reference counting when doing copy-on-write; we kept
one ref too many of the lower cache.
* minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19035 a95241bf-73f2-0310-859d-f6bbb57e9c96
this closes ticket #811.
* Added notification support to IPv4 and UDP.
* Implemented reading out SO_ERROR.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19017 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed R5 socket definitions to match their actual definitions.
* libnetwork.so now detects at runtime wether or not R5 compatibility should be
enabled or not.
* All socket functions should now be R5 net_server compatible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19012 a95241bf-73f2-0310-859d-f6bbb57e9c96
to determine linkage of libnet.so vs. libsocket.so/libbind.so in the libnetwork.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19008 a95241bf-73f2-0310-859d-f6bbb57e9c96
under Haiku, though. If someone has access to this card, feel free to fix this :-)
I renamed the driver to s3savage (from BeSavage), and added the license text
separately (dunno if that's really needed, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18978 a95241bf-73f2-0310-859d-f6bbb57e9c96
This also fixes the issue of exporting a C++ API from the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18974 a95241bf-73f2-0310-859d-f6bbb57e9c96
of a team to avoid confusion. It now also accepts a NULL session pointer in
which case the actual group's session doesn't matter.
* Fixed the race condition in send_signal_etc() that could allow accessing an
invalid team pointer.
* Jerome's earlier change already fixed bug #841, and this also fixed bug #855.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18941 a95241bf-73f2-0310-859d-f6bbb57e9c96
This means that the usb_callback_func now takes a status_t instead of a uint32 status.
Also the error codes are now different. I don't see this as a real problem in binary compatibility, as the status codes were never really documented and most drivers just assumed that a nonzero status meant an error.
Source compatibility breaks for callback functions and error defines. I fixed (hopefully) all places in the tree that are currenty included in the image and affected by the change.
* Corrected error reporting in UHCI and EHCI using the new status codes.
* Fixed a memory leak in EHCI where the async advance interrupt was not triggered in time.
* Fixed another race condition in usb_raw that could cause a crash when a device is removed while a transfer is pending.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18916 a95241bf-73f2-0310-859d-f6bbb57e9c96
HaikuBuildCompatibily.h exposes INT64_MAX based on limits.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18900 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Deskbar uses 32 bit icons now
* vector icons are now correctly converted to B_CMAP8 bitmaps
if no B_CMAP8 icon is available
* small fixes in Tracker (window mode menu)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18803 a95241bf-73f2-0310-859d-f6bbb57e9c96
This improves abstraction and allows bus drivers that are independant of ide_adapter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18794 a95241bf-73f2-0310-859d-f6bbb57e9c96
not yet working but a bit better :
GLTeapot display is now white instead of black :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18776 a95241bf-73f2-0310-859d-f6bbb57e9c96
the next step would be to rescan the partition tree with a job to recognize unrecognized partitions (asynchronously ?)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18737 a95241bf-73f2-0310-859d-f6bbb57e9c96
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)
If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.
This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.
Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().
This fixed bug #763.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
parameter during construction).
* Doing so will now result in a kernel panic whenever your file system tries to
write to a block.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18719 a95241bf-73f2-0310-859d-f6bbb57e9c96
* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)
If someone feels like looking over the changes, that would be much
appreciated! :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
(that was part of the problem of bug #702).
* Fixed send_signal_etc() when you called it with a pid_t of zero: the signals should
go to all teams in the calling team's group, not only to the team (for -1, we do
the same for now).
* Made team_get_process_group_locked() public, and rewrote send_signal_etc() to use
it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18684 a95241bf-73f2-0310-859d-f6bbb57e9c96
at the comment in r5_compatibility.h.
* Intentionally broke source compatibility and removed all that outdated Nettle stuff.
* Also, I took the liberty of making m_init private and rename it to fInit - again, this
will only affect source compatibility.
* Rewrote NetEndpoint.h
* Fixed quite a few small bugs around the code that I touched, for example in NetAddress,
SetTo() never set fInit, and therefore could be wrong.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18680 a95241bf-73f2-0310-859d-f6bbb57e9c96