team ID argument, instead of only being able to dump the images of the current
team.
* The debugger commands are now now also built-in without the DEBUG flag set
(for now).
* _get_next_image_info() now also supports the B_SYSTEM_TEAM constant.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23011 a95241bf-73f2-0310-859d-f6bbb57e9c96
and later (should be moved somewhere else, though).
* Renamed FreeBSD's Intel PRO 1000 driver (known as "em" in BSD) to ipro1000 which
also puts it on the image, instead of the old one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23007 a95241bf-73f2-0310-859d-f6bbb57e9c96
passes that information on to the kernel. This should fix wrong bytes per row with
certain resolutions and graphics cards.
* The boot loader now recognizes 15 bit modes that are advertised as 16 bit modes.
This should fix wrong colors in 16 bit modes on some cards.
* Reenabled setting MTRR for VESA mode - don't remember why I disabled it, but it
works fine on my test machines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23006 a95241bf-73f2-0310-859d-f6bbb57e9c96
serial output, and puts it into the new kernel_args::debug_output field.
* syslog_init() will now check if there is anything in kernel_args::debug_output
and will put that into the syslog buffer.
* dump_block() now also prints an offset.
* Fixed warning in mmu.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23003 a95241bf-73f2-0310-859d-f6bbb57e9c96
until r22998 - but since this was the only implementation, its consequences
were much more likely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23000 a95241bf-73f2-0310-859d-f6bbb57e9c96
if not. This fixes bug #323.
* Now uses find_directory() instead of hard-coded add-on paths.
* A few more error checks.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22997 a95241bf-73f2-0310-859d-f6bbb57e9c96
(RELENG_7_BP).
* There are many white spots, though, most notable PCI MSI(-X) support, and
jumbo frames.
* Fixed removing interrupts for the INTR_FAST case. Since FreeBSD 7 added
a new interrupt "filter" mechanism, we can finally report if the interface
was handled by a device or not (though only very few devices support this
yet).
* Updated the 3com, rtl8139, e1000, and via_rhine drivers to the latest code
base. They all compile, but I haven't tested them after the changes yet!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22991 a95241bf-73f2-0310-859d-f6bbb57e9c96
there is no need for the file map service.
* Added and implemented fs_read_pages() - this should fix bug #1633; the file
system had not been ported to the new file cache API yet.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22970 a95241bf-73f2-0310-859d-f6bbb57e9c96
one too low in comparison with BeOS (ie. the end pointer was inclusive, now
it's exclusive).
* Moved static functions fill_thread_info(), and {send|receive}_data_etc() to
the private function section.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22945 a95241bf-73f2-0310-859d-f6bbb57e9c96
remove the hint for that value) by dragging the mouse over other fields with
the mouse button held.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22937 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The debug_server now sends the registrar messages whenever the debug alert
is shown, and also, if the user wants to debug the team.
* In the latter case, the registrar will now cancel a shutdown process.
* Also, it will now wait with the shutdown process until the user has
acknowledged the debugger alert.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22926 a95241bf-73f2-0310-859d-f6bbb57e9c96
field was not initialized properly, and the reply target was taken from the
wrong header in this case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22925 a95241bf-73f2-0310-859d-f6bbb57e9c96
tried to access the uninitialized vnode in that case).
* That means that it's now safe to remove a mounted CD from the drive, it
will then be unmounted automatically.
* Added a check for partition::Device() - even though Ingo tells me it's
impossible, it was NULL once.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22922 a95241bf-73f2-0310-859d-f6bbb57e9c96
the stack to an allocated one - on destruction of the latter, the resources
were already freed.
* Made the identify code more negligent against bad CDs - ie. it will identify
even broken CDs if they can be mounted.
* Made identification endian aware (it should now also work on big endian
systems).
* Renamed many structures, methods, and fields to be less verbose, and follow
our style guide.
* Renamed iso9660.cpp|h to iso9660_identify.cpp|h.
* Renamed iso.c to iso9660.c, rock.h to rock_ridge.h.
* Removed unnecessary cruft from the Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22920 a95241bf-73f2-0310-859d-f6bbb57e9c96
check the fTerminating flag, so it would never quit (too bad no one ever quits
it anyway :-)). Thanks for proofreading!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22919 a95241bf-73f2-0310-859d-f6bbb57e9c96
* it now updates the partition data,
* the flags,
* and the disk geometry - and that now allows the session add-on to actually
detect a newly inserted CD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22918 a95241bf-73f2-0310-859d-f6bbb57e9c96
the complete extent info or not.
* file_map_translate() now cuts down the request to the file bounds.
* Adjusted BFS and FAT to the API changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22913 a95241bf-73f2-0310-859d-f6bbb57e9c96
device geometry.
* If SetTo() reports no media, and GetGeometry() fails, the device geometry
is now reset as well.
* KDiskDeviceManager::_ScanPartition() no longer unmarks the partition busy;
this is now done by the caller, and done independently from the outcome of
_ScanPartition(). This also fixes the problem that devices with no media
were never marked unbusy (and thus were ignored subsequently).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22912 a95241bf-73f2-0310-859d-f6bbb57e9c96
partition cookie was deleted - when removing a CD it would crash.
* Since the partition cookies are not needed at all, we don't use it anymore.
* scan_partition() deleted the identify cookie on error, but that's not its
job - free_identify_cookie() is always called, no matter what scan partition
does.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22911 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Reduced rating of the color space - after all, the resolution is more
important.
* The EDID detailed modes are now scanned for the best mode available, this
could be done in various ways, so please report any problems you have with
it.
* Ignore resolutions below 640x350 - this should also fix bug #1615.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22908 a95241bf-73f2-0310-859d-f6bbb57e9c96
initialized, causing those functions to read|write a random amount.
* This fixes bug #1614 - amazing how well the system worked with those randomly
sized requests...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22901 a95241bf-73f2-0310-859d-f6bbb57e9c96
honoured (in the Inode attribute code), it also couldn't be honoured there.
Therefore, the locking order is now reversed, that is "journal" comes first,
then the Inode write lock. This should also help with the lock ups that
appeared after r22886.
* Got rid of INODE_NO_TRANSACTION; it doesn't make any sense to use.
* When Inode::WriteAttribute() changed the type, the type field was actually
never written back within the current transaction.
* If the attribute data fit into the inode again, the attribute's write lock
was never released.
* Since r22886, Inode::ReadAt() does its own locking, so we must no longer lock
the inode before calling it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22897 a95241bf-73f2-0310-859d-f6bbb57e9c96
that can be used by file systems.
* Changed the way the file cache works: instead of reading/writing to the
underlying device directly, it can now be used for any data source, ie.
also network file systems.
* As a result, the former pages_io() moved to the VFS layer, and can now be
called by a file system via {read|write}_file_io_vec_pages() (naming
suggestions are always welcomed :-)). It now gets an FD, and uses that to
communicate with the device (via its fs_{read|write}_pages() hooks).
* The file_cache_{read|write}() functions must now be called without holding
an I/O relevant file system lock. That allows the file cache to prepare the
pages without colliding with the page writer, IOW the "mayBlock" flag can
go into the attic again (yay!).
* This also results in a much better performance when the system does I/O and
is low on memory, as the page writer can now finally write back some pages,
and that even without maxing out the CPU :)
* The API changes put slightly more burden on the fs_{read|write}_pages()
hooks, but in combination with the file_map it's still pretty straight
forward. It just will have to dispatch the call to the underlying device
directly, usually it will just call its fs_{read|write}_pages() hooks
via the above mentioned calls.
* Ported BFS and FAT to the new API, the latter has not been tested, though.
* Also ported the API changes to the fs_shell. I also completely removed its
file cache level page handling - the downside is that device access is no
longer cached (ie. depends on the host OS now), the upside is that the code
is greatly simplified.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22886 a95241bf-73f2-0310-859d-f6bbb57e9c96
did not propagate the "dontWait" argument, letting the page writer never wait
for its pages.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22860 a95241bf-73f2-0310-859d-f6bbb57e9c96
and write_to_cache() before, IOW the cache could reserve too few pages.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22859 a95241bf-73f2-0310-859d-f6bbb57e9c96
needed pages correctly, and would also not read/write enough in case the
offset didn't start at 0 resulting in undetected short reads/writes. It's
amazing how many bugs can be hidden in a few lines of code.
* Fixed a bug that might have been the cause for bug #1601: when the last part
of the write did not end on a page boundary, the last page had to be read
first, but that was done from the wrong offset. Also, if only parts of that
page could be read (because the file size didn't span over the whole page)
the remaining parts needed to be cleared.
* The cache_funcs were always called with the same value for numBytes and
bufferSize so I've eliminated the former.
* Large reads now also bypass the cache in case of low memory, large writes now
also only bypass the cache in that case, following Ingo's suggestion.
* Fixed compilation with debugging turned on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22858 a95241bf-73f2-0310-859d-f6bbb57e9c96
than 64KB. Reads should probably get a similar logic, at least if memory is
tight.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22857 a95241bf-73f2-0310-859d-f6bbb57e9c96
the same pages over and over.
* Increased the priority of the page writer a bit, so that it is higher than
the one of the page daemon.
* Added a sModifiedTemporaryPages counter to let the page_writer decide how
many pages are there to write back (temporary pages would go to the swap file
and are only written back when memory is low).
* In case there are more than 1024 modified (non-temporary) pages around, the
page writer will constantly write out pages, not only when being pushed.
* The page writer now temporarily always leave out temporary pages (as long as
we don't have a swap file).
* Shuffled functions around a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22852 a95241bf-73f2-0310-859d-f6bbb57e9c96
never worked correctly for any case which was very visible in Tracker (and
especially so if you had "sorting apps" turned on).
* Removed superfluous white space at the end of lines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22850 a95241bf-73f2-0310-859d-f6bbb57e9c96
actually forgot to commit the changes I made to the ide_adapter...
* the IDE bus master command/status stuff is now used via flags; it's no
bitfield anymore.
* Changed a few constants to upper case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22842 a95241bf-73f2-0310-859d-f6bbb57e9c96
ideally, we would only have one file and no copies - later.
* That also changed how READ/WRITE_6 commands are translated to READ/WRITE_10
commands, but it was obviously correct before, at least I can still reproduce
bug #1577 (so it has to be something else).
* Spotted a few suspicious uses of transform_6_10() vs. transform_cmd_6_10();
at least the FreeBSD driver seem to work differently here, anyway (it always
uses 12 byte commands for most of these).
* Cleaned up the file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22838 a95241bf-73f2-0310-859d-f6bbb57e9c96
non-reserve case.
* vm_page_allocate_page() could also lose a stolen page in case more free pages were available
after steal_pages() was called.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22834 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made output much more readable and useful (especially with 80 characters).
* Removed useless -u option when built for Haiku.
* Added a new option -t that shows the tunables.
* Removed the hack to let be_app run - it works fine without on BeOS.
* Improved parameter parsing (now uses getopt_long()), also added long names
for all options.
* I'm all for removing BeOS/Dano support completely from this app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22825 a95241bf-73f2-0310-859d-f6bbb57e9c96
device's attach() method twice - this would let every network device that found a MII PHY fall into
an endless loop on start. In other words 3com and VIA Rhine should now work fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22815 a95241bf-73f2-0310-859d-f6bbb57e9c96
reason the MII bus did not work as mediainit was never called.
* Got rid of the delayed MII bus scanning again; not only did it not solve the problem, it was
also completely unnecessary.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22812 a95241bf-73f2-0310-859d-f6bbb57e9c96
probing/attaching the MII bus should come later, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22806 a95241bf-73f2-0310-859d-f6bbb57e9c96
pmap_kextract() not vice versa, just like it is done in FreeBSD itself.
* Added missing contigmalloc() definition for kernel drivers.
* Fixed the "*_devclass defined but not used" warning.
* Fixed warnings.
* Added/adjusted (to our style guide) the license headers for the files I
touched.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22802 a95241bf-73f2-0310-859d-f6bbb57e9c96
acceleration works fine, but overlay doesn't - that's next on my list.
Turns out the i965 differentiates between RGB-32 and RGB-32-alpha, and
didn't like trying to use the latter as display mode (the i865 didn't
care at all)... finding that took me *way* too long, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22780 a95241bf-73f2-0310-859d-f6bbb57e9c96
the timing of the original mode into account (I haven't tested if the computed
score makes that much sense, though).
* GetPreferredMode() now also works correctly for EDID data): it now returns
the correct status, and also constructs the mode correctly. Furthermore, it
will now search for the mode in the mode list, instead of using that mode
directly (so that it can take hardware limits into account).
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22778 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Turned off debug output for interrupts.
* Temporarily turned on IFF_PROMISC mode so that the driver can at least be used a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22775 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Calmed down the FreeBSD compatibility layer considerably.
* Now also sets the arpcom's ac_ifp field for completeness.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22772 a95241bf-73f2-0310-859d-f6bbb57e9c96
turning off interrupts on the device doesn't seem to work, and when one only acknowledges the
interrupts, they are also removed from XL_STATUS register.
The driver now starts to work: it can send and receive packets, though it currently only seem
to receive broadcast packets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22771 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed device_set_driver(): it needs to clear the allocated buffer (it's
allocated with M_ZERO in FreeBSD).
* The first mbuf buffer needs to have the M_PKTHDR flag set.
* With these changes, the 3com driver now fails where it should have failed
before, that is in the missing interrupt handling.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22769 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be expanded for other types, but for now, we'll probably only get IFT_ETHER
anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22766 a95241bf-73f2-0310-859d-f6bbb57e9c96
sequential access.
* This is now used to let the cache free some pages (or schedule them to be
written back) before vm_reserve_pages() is called, but only if that cache
is not mapped, and there is a memory shortage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22731 a95241bf-73f2-0310-859d-f6bbb57e9c96
returns success - since this stub always returned failure, this prevented all
apps using that library (like Gobe Productive) from running.
It now calls the Haiku equivalent _kern_lock_node(), and Gobe now runs fine!
This closes bug #562.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22724 a95241bf-73f2-0310-859d-f6bbb57e9c96
this fixes bug #1423, the loop interface removed the default route for the
other interface (didn't happen previously, as routes were bound to devices).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22723 a95241bf-73f2-0310-859d-f6bbb57e9c96