Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 3ae3b04bce * The boot loader (bios_ia32 only) now duplicates everything that goes to the
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
2007-11-27 12:59:34 +00:00
Axel Dörfler da744139fa Fixed setting up an interrupt using the new filter method: INTR_FAST doesn't
have to be set in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 21:47:22 +00:00
Axel Dörfler d0007186e5 The fs_shell cache implementation had the same problem as our real cache
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
2007-11-26 16:02:10 +00:00
Axel Dörfler bade8d7b70 The MediaAddonServer destructor was never called, thanks Stippi!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 14:29:55 +00:00
Axel Dörfler 9ff70e7468 read_from_file() and write_to_file() did not take the pageOffset into account.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 13:38:32 +00:00
Axel Dörfler 3891a797aa * Now checks if the media_server is running in ReadyToRun(), and quits itself
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
2007-11-26 12:22:53 +00:00
Axel Dörfler 8b4ee93be6 Build fix; fbsd_ether.c did not compile anymore (but was not recompiled since
the wrong header was included).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 12:11:36 +00:00
Axel Dörfler ecbcc47480 Added FreeBSD 7 driver for the Marvell Yukon chips. Compiles, but is otherwise
completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 11:31:51 +00:00
Axel Dörfler 239239c8a0 * Updated the FreeBSD compatibility layer for network drivers to FreeBSD 7
(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
2007-11-25 11:29:29 +00:00
Axel Dörfler 3721f6df39 Minor update; even though the TODO file isn't that long anymore, it doesn't
hurt to have it in the repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 15:43:46 +00:00
Axel Dörfler b304ba4bef Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 15:38:05 +00:00
Axel Dörfler 96bc573e6e Include <be_apps/Tracker/Background.h> specifically, instead of adding the
header directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 15:35:07 +00:00
Axel Dörfler 3b54b5c49e * Renamed "Store Current" to "Snapshot Current", and "Restore Saved" to
"Restore Snapshot".
* Implemented a simple undo/redo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 14:36:13 +00:00
Axel Dörfler 684f9b91a8 * Now reports a proper error when the attribute file is empty (instead of just
printing the usage info).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-23 13:45:05 +00:00
Axel Dörfler 349ba1a53c * IsDoubleBuffered() was not correct - fModeList has nothing to do with the
back buffer. This fixes bug #1631.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-21 15:45:12 +00:00
Axel Dörfler ff99132e67 * Removed fs_get_file_map(); for a file system that only has contiguous files,
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
2007-11-21 12:41:58 +00:00
Axel Dörfler 1dec1e5786 display_mode::[hv]_display_start fields were not set when using a certain
Screen::SetMode() method, thanks to Gerald Zajac for reporting this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-20 21:34:59 +00:00
Axel Dörfler d46836a8b0 Now opens the types window on B_SILENT_RELAUNCH if it's not already open.
This fixes bug #1628.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 15:30:32 +00:00
Axel Dörfler e551be6e70 If a device returns an invalid size, we shouldn't crash.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 13:57:46 +00:00
Axel Dörfler 4020e749da Replaced the old 1920x1200 resolution mode line with another one with a slightly
higher pixel clock, tested by Dr. Hartmut Reh.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 11:32:45 +00:00
Axel Dörfler 647c0044ff The "drag&duplicate value" feature was not working reliably when removing hints
after a value was set, as fLastField was not updated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 09:15:04 +00:00
Axel Dörfler d4fc2b7db7 * Fixed a bug reported by Ryan: the stack_end pointer of a thread was reported
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
2007-11-18 11:59:53 +00:00
Axel Dörfler 79939c8d1e The KDL command "teams" now also prints the team ID in decimal rather than hex.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-18 11:57:35 +00:00
Axel Dörfler 91adcde60f When having set/removed a value or hint, you can duplicate that action (or
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
2007-11-17 14:15:31 +00:00
Axel Dörfler 8d2fdf2b0e Added Flush() to SetMouseEventMask(); this should definitely be sent immediately.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-15 15:06:51 +00:00
Axel Dörfler 7301a7fbdb bonefish+axeld:
* 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
2007-11-14 01:28:47 +00:00
Axel Dörfler bfccde1f6a Forwarding did not work anymore for direct targets, since the header::flags
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
2007-11-14 01:22:43 +00:00
Axel Dörfler 28143c31d1 Build fix: iso9660_identify.cpp still included the old header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 20:31:31 +00:00
Axel Dörfler 63d2ded05d Added a "net_timer" KDL command that dumps all network timers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 15:20:51 +00:00
Axel Dörfler fb431b443b * vfs_unmount() can now safely be called from the kernel (fs_unmount() still
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
2007-11-13 15:19:21 +00:00
Axel Dörfler dc9a52b917 Renamed iso.h to iso9660.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 14:57:11 +00:00
Axel Dörfler 5b2c5d03e8 * Fixed a crashing bug in the identification code: it copied a C++ object on
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
2007-11-13 14:55:11 +00:00
Axel Dörfler 64a19b4444 Philippe was right, of course, the media checker thread did not bother to
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
2007-11-13 12:20:39 +00:00
Axel Dörfler 7333992516 On a media change, the KDiskDevice must do a bit more than it did:
* 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
2007-11-13 12:18:06 +00:00
Axel Dörfler ddd1769901 The file map code isn't that smart yet...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 11:20:17 +00:00
Axel Dörfler 4a31d30e84 * The file map needs to know the actual file size to be able to know if it has
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
2007-11-13 10:34:48 +00:00
Axel Dörfler 88ef411154 * Added an UninitializeMedia() method to KDiskDevice that also resets the
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
2007-11-12 23:20:33 +00:00
Axel Dörfler ef6f42349c * The session module deleted its cookie twice, after identifying, and when the
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
2007-11-12 22:38:39 +00:00
Axel Dörfler 5b1f301a11 * _FindBestMode() can now also take the aspect ratio into account.
* 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
2007-11-12 11:44:55 +00:00
Axel Dörfler 637c2a8557 A tiny bit more debug output when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 16:33:28 +00:00
Axel Dörfler 364759e0d2 * The "bytes" as passed to {read|write}_file_io_vec_pages() was never
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
2007-11-11 16:28:56 +00:00
Axel Dörfler f0d9382047 * The previous locking order "inode write" -> "journal" was not only not
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
2007-11-11 13:07:56 +00:00
Axel Dörfler 6edf637ba6 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 13:00:59 +00:00
Axel Dörfler 0d8939aea7 There is absolutely no need that the interface packet consumer runs at a
priority that high.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 12:55:22 +00:00
Axel Dörfler c98d35dc33 This might help with the build on Linux.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:46:57 +00:00
Axel Dörfler 3d268eda3d * Extracted file_map API out of the file cache - it's now an optional service
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
2007-11-10 21:19:52 +00:00
Axel Dörfler c84c58e41a Extracted file_map API for later use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 17:09:54 +00:00
Axel Dörfler 3af0509ddb No wonder the page writer sucked so many cycles: the PageCacheLocker constructor
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
2007-11-08 15:24:27 +00:00
Axel Dörfler 9edc2b526f The reserved pages computation used the same broken logic as read_into_cache()
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
2007-11-08 14:44:13 +00:00
Axel Dörfler cfe386c2d5 * read_into_cache() and write_to_cache() both did not compute the number of
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
2007-11-08 13:45:04 +00:00
Axel Dörfler 09149281e0 The file cache now completely bypasses the cache for writes equal or larger
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
2007-11-08 09:30:58 +00:00
Axel Dörfler 67f0ddf604 Added the sModifiedTemporaryPages counter to the output of the "page_stats" KDL
command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 22:26:55 +00:00
Axel Dörfler f7e414f22b * Made page_writer() use a marker page as well, so that it won't try to get
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
2007-11-07 17:09:05 +00:00
Axel Dörfler a425a5ae4d Keyboard navigation only worked after the first field was set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 14:42:07 +00:00
Axel Dörfler 82a54995b5 * Fixed _ComputeColumnLayout() optimization introduced in r22658: it actually
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
2007-11-07 14:24:09 +00:00
Axel Dörfler b35a3514f1 Now allows you to store a state of the current puzzle, and to restore it later on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 13:45:32 +00:00
Axel Dörfler 6405549873 No wonder no one noticed that the silicon_image_3112 driver was broken; I
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
2007-11-06 02:26:44 +00:00
Axel Dörfler ee75b36dea * My changes to the ide_adapter.h broke the silicon_image_3112 which I didn't
notice until now. Fixed again.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 23:08:58 +00:00
Axel Dörfler 8e185f271f DO NOT MAKE UNTESTED LAST MINUTE CHANGES (and also don't forget about them
before committing :-)) - this fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 22:35:38 +00:00
Axel Dörfler 618ef1498d * Made at least scsi_cmd_rw_10 the same as the one in private/drivers/scsi_cmds.h;
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
2007-11-05 22:28:03 +00:00
Axel Dörfler a00a1f4144 * Added the device/vendor pair of the ICH7 used in the MacBooks, courtesy of
"chrisjp", see bug #1599.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 17:45:31 +00:00
Axel Dörfler 5ff3d4f2db * If steal_pages() stole more than originally asked for, it might have lost those pages in the
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
2007-11-05 11:37:02 +00:00
Axel Dörfler 888514b231 * Applied our coding style.
* 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
2007-11-04 14:21:12 +00:00
Axel Dörfler 21599cafab Renamed via-rhine directory to via_rhine - that's how the driver is named now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 23:19:30 +00:00
Axel Dörfler f6d16d80f5 * Replaced the VIA Rhine driver in the network boot archive as well.
* Removed the old non-working VIA driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 23:10:10 +00:00
Axel Dörfler 5a4ca4d18e * Replaced old VIA Rhine driver with the new one from FreeBSD.
* Added the FreeBSD 3com driver to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 20:49:46 +00:00
Axel Dörfler b7d3b2fe8f * Calmed down the FreeBSD drivers even more - compat_{read|write}() no longer
print anything.
* Added (commented out) debug output to compat_control().
* Renamed variables "len" to "length" where possible.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 17:32:14 +00:00
Axel Dörfler 1662c6dfc9 Added ukphy fallback MII PHY driver for 3com as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 16:51:44 +00:00
Axel Dörfler f7a7cab9e7 The promiscuous work-around is no longer needed; the MAC address is now set correctly in the filter,
so that we can receive all of our packets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 16:45:49 +00:00
Axel Dörfler e25593c034 I accidently didn't revert the delayed MII bus scan correctly which resulted in callling the
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
2007-11-03 16:43:28 +00:00
Axel Dörfler e60d7937c9 The MAC address might need to be copied to the arpcom structure as well
(the 3com driver needs this, for example).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 15:10:22 +00:00
Axel Dörfler 3e01ad3517 Made DELAY() fall back to spin() for times below 1000 usecs; it's often used that way, and snooze()
just wouldn't work right then.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 13:39:39 +00:00
Axel Dörfler 7242a223a1 * Added miibus_linkchg and miibus_mediainit methods to device_set_driver(); this was the actual
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
2007-11-03 13:00:12 +00:00
Axel Dörfler 38d3e0e20c Added VIA Rhine driver from FreeBSD 6.2 unchanged. It does not work yet, though, because of problems
with the MII bus support in the compatibility layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-03 12:07:26 +00:00
Axel Dörfler 84eb0b5f5b Delayed scanning the MII bus until the first ifm_media has been set for the
device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-02 18:24:05 +00:00
Axel Dörfler 2949df37ae The MII stuff did not work at all, this is at least an improvement for that; apparently,
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
2007-11-02 18:09:02 +00:00
Axel Dörfler 1c0d11a0a7 Turned off extensive debug output, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-02 15:47:47 +00:00
Axel Dörfler 689177bed5 Added contigfree() as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-02 15:07:50 +00:00
Axel Dörfler 01ada2057f Accidently messed up the vtophys() macro...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-02 15:05:12 +00:00
Axel Dörfler 00abfdbe15 * Since vtophys() is no public API in FreeBSD, vtophys() is now a macro to
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
2007-11-02 15:00:45 +00:00
Axel Dörfler 61291964c3 The intel_extreme driver now finally works with the i965 chipset;
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
2007-10-31 19:23:59 +00:00
Axel Dörfler b289dec88c * Factored out a _FindBestMethod() from _SetFallbackMode() - it now also takes
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
2007-10-31 14:05:24 +00:00
Axel Dörfler 9121620d41 Added sigsuspend_test, courtesy of Vasilis Kaoutsis - thanks!
It currently fails on Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-30 21:44:46 +00:00
Axel Dörfler f6e4b669b9 * Fixed warnings.
* 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
2007-10-30 17:19:07 +00:00
Axel Dörfler d8f9591fa7 * Fixed the loop in bus_generic_attach() that I accidently broke with the previous commit.
* 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
2007-10-30 16:56:15 +00:00
Axel Dörfler d8ff7084f2 Implemented interrupt handling for the 3com driver; unfortunately, it does not work unchanged:
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
2007-10-30 16:53:16 +00:00
Axel Dörfler 31154c5cc6 * Fixed the KASSERT() macro - it panicked without reason.
* 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
2007-10-30 12:01:21 +00:00
Axel Dörfler afa1bfe51d IFT_ETHER expects an arpcom structure at if_l2com; this would actually need
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
2007-10-29 23:37:35 +00:00
Axel Dörfler 3ecd9d8fbb Added a small test for B_LOCK_FOCUS and B_SUSPEND_VIEW_FOCUS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 20:24:18 +00:00
Axel Dörfler 1fbd9939b9 NewRegion is gone.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 15:03:57 +00:00
Axel Dörfler 6ae06ef86a Implemented AS_IDLE_TIME, this closes bug #1593.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 09:11:25 +00:00
Axel Dörfler d1516993c2 Made the menu fields variable width again; it looked a bit ugly before to me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-26 13:32:06 +00:00
Axel Dörfler 662e5c8ce4 Fixed warnings when building something for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-26 12:53:25 +00:00
Axel Dörfler c657332910 * The file cache now remembers the last 3 accesses to be able to detect
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
2007-10-26 09:15:33 +00:00
Axel Dörfler fcfbb8aa6c libprefs.so uses the private _klock_node_() syscall, and even loops until it
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
2007-10-25 17:04:10 +00:00
Axel Dörfler ce78b3653a Now only removes a default route for a domain in case a new one is specified;
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
2007-10-25 15:15:25 +00:00
Axel Dörfler 9004a56437 * Made some functions static that should have been.
* Added a commented out dump_routes() function for debugging purposes.
* Removed weird spaces, fixed indentation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 15:13:34 +00:00
Axel Dörfler 13ca2d942d Patch by Vasilis Kaoutsis - thanks!:
* Rewrote TextView.h
* Renamed all private methods to have the underscore prefix.
And also:
* Whitespace and line width cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 20:44:17 +00:00
Axel Dörfler 45ae0aa1aa It's not a good idea to write back large files while keeping the vnode busy.
The low memory handler now has two passes which should help there; however, it
might also accidently remove recently used vnodes, too. We could mark the clean
ones in some way if that turns out to be a problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 16:05:38 +00:00
Axel Dörfler 1d0b34faae * If a new buffer had its last part in common with an existing larger buffer,
BufferQueue::Add() tried to remove a negative amount of bytes. This could
  bring a download to a complete halt (as could the other one due to the list
  link mixup).
* While the RTT computation still seems to work not that good (with a drop quote
  of 50% I would easily reach retransmit timeouts of 80 secs), TCP should now
  work a lot better on a flaky connection.
* Renamed _GetMSS() to _MaxSegmentSize().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 10:42:46 +00:00