Commit Graph

21765 Commits

Author SHA1 Message Date
Marcus Overhagen
f53094e7ea fail gracefully when base address register or irq hasn't been assigned.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:41:24 +00:00
Salvatore Benedetto
e3677c6d3c * ups :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:36:56 +00:00
Marcus Overhagen
79844706c2 Propagate is-ATAPI restriction to the SCSI bus manager.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:47:57 +00:00
Salvatore Benedetto
a097d8c8ee * Placed underscore to private methods like ReadReg and WriteReg
* Rewrote _AllocateEndpoint
* More work in the constructor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:47:03 +00:00
Ingo Weinhold
db81403db4 Beginnings of a BFS userland disk system add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:34:44 +00:00
Ingo Weinhold
57225f0367 * Moved helper function to check initialization parameters to separate
source file. Added function to check the volume name.
* Removed bfs_validate_initialize(). This functionality is to be implemented
  in a userland add-on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:33:47 +00:00
Marcus Overhagen
117c680d90 Warn when lun is not 0. Might be needed for SATA PM support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:49:39 +00:00
Marcus Overhagen
8d722116c2 Enable SATA ports 5 and 6 on Intel ICH8 and ICH9 based
systems, and possibly enable ports 7 and 8 in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:25:49 +00:00
Marcus Overhagen
65621982c9 New PCI quirk/fixup support.
The Jmicron AHCI controller has a mode that combines IDE and AHCI functionality
into a single PCI device at function 0. This happens when the controller is set
in the BIOS to "basic" or "IDE" mode (but not in "RAID" or "AHCI" mode).
To avoid needing two drivers to handle a single PCI device, we switch to the
multifunction (split device) AHCI mode. This will set PCI device at function 0
to AHCI, and PCI device at function 1 to IDE controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 15:51:40 +00:00
Ingo Weinhold
83274b7115 Patch by Vasilis Kaoutsis: Shell script to run the POSIX conformance tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 23:36:37 +00:00
Ingo Weinhold
627c5b3f82 Patch by Vasilis Kaoutsis: Added posixtestsuite tests for sigrelse().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 23:27:30 +00:00
Ingo Weinhold
99ed286c94 Patch by Vasilis Kaoutsis: Implemented sigrelse().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 23:23:46 +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
Marcus Overhagen
270d4ee0ec disabled most debug output, this makes the driver useable
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 16:36:59 +00:00
Marcus Overhagen
8c8d63ee00 added more device IDs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 15:49:55 +00:00
Jérôme Duval
5fac00b279 3com, rtl8139 and via_rhine are only buildable for x86
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-08 20:24:08 +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
Stephan Aßmus
c900be6501 * fix saving settings (don't let the window quit by itself)
* add partition creation menu items
* filter filesystems by their support for "initializing"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 22:16:06 +00:00
Stephan Aßmus
f9ca8faab7 * renamed main.cpp to DriveSetup.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 20:11:56 +00:00
Stephan Aßmus
753e3d4ef7 cleaned up the code:
* conforming app signature
* tracked down copyright info
* removed too technical list columns
* reimplemented storing/restoring settings (removed PosSettings)
* relayouted/simplified menu structure
* rewrote rdef
* enabled debug output for now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 20:10:19 +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
Stefano Ceccherini
afd60167e3 Reverted r21395. Many people didn't like the change, and after all I too
think it wasn't a really good idea. The alignment of shortcut 
charachters and submenu symbols could use some more work, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 09:38:55 +00:00
Jérôme Duval
0aded81728 clean the background for all workspaces when no image is selected
this fixes bug #1602


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 23:35:07 +00:00
Ingo Weinhold
f88e00f507 Patch by Vasilis Kaoutsis: Added posixtestsuite tests for sighold().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 22:14:01 +00:00
Ingo Weinhold
0a1968cf8f Patch by Vasilis Kaoutsis: Implemented sighold().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 22:11:43 +00:00
Ingo Weinhold
def1a8a91c Patch by Vasilis Kaoutsis: The Open Group Base Specs for signal() require
errno to be set to a positive value on error, but since BeOS error codes are
negative numbers, we can't comply. Changed the tests accordingly to check for
the expected error code (EINVAL) instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 22:06:40 +00:00
Hugo Santos
5450cae172 try to hide the gruesome details from the glue code as much as possible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 16:45:10 +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
Ingo Weinhold
a81e874ffb * Added opt-in debugging feature: Recent allocation-related operations
on pages are recorded in a history and can be printed via the
  "page_allocations" command.
* Fixed a problem in the page scrubber. It temporarily removed pages
  from the free list, which could have been reserved by someone else.
  When actually allocating the reserved pages, that someone could find
  free and clear lists empty and would therefore rightfully panic
  ("Had reserved page, but there is none!").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 01:07:13 +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
Jérôme Duval
8bef760f81 create media settings directory before saving default nodes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 21:54:12 +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
Stephan Aßmus
d4983ec0c8 * use BListItem::Height() consistently (clicking a nick in Vision now selects
that same nick, not a different one)
* performance improvement in Draw() (using ItemFrame() in the inner loop scales
  really bad)
* fixed scroll range for when BListItem::Height() is non-integer (scrolling
  all the way to the bottom in Visions nick list works now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 15:29:25 +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
Bruno G. Albuquerque
a66c2a2c9e Made the FreeBSD rtl8139 driver the default one and removed the other driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 11:13:27 +00:00
Ingo Weinhold
7b45b55be1 * Added back and partially reimplemented the
K{Disk,File,Partitioning}System writing methods. It is now required
  that the caller has marked the concerned partitions busy, hence we can
  (read-)access them without needing a lock. The module interfaces will
  will be changed to take advantage of the fact as well. The methods take a
  disk_job_id instead of a KDiskDeviceJob* now, though I haven't quite
  decided, whether we need it at all or just want to add a special
  handling in the cases where notifications during the operation make
  sense.
* Reimplemented the disk device write support syscalls (save
  _user_move_partition() for which other module hooks are needed). They
  call the KDiskSystem methods, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 00:42:47 +00:00
Ingo Weinhold
2128ea4f31 Added IsBusy(bool) version, which optionally also checks the
descendants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 00:30:14 +00:00
Ingo Weinhold
a56a0c276a Patch by Vasilis Kaoutsis: Removed redundant parameter check (sigaction()
does it anyway).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-04 17:48:49 +00:00
Bruno G. Albuquerque
8ae2f054c7 Added miibus initialization. The driver now seems to work flawleslly. Please test and report problems. Comming up next, enabling it by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-04 17:46:28 +00:00
Ingo Weinhold
3ee9275573 Patch by Vasilis Kaoutsis: Added tests for signal().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-04 17:46:08 +00:00
Ingo Weinhold
7154471870 Removed inline versions of sigismember(), sigaddset(), and sigdelset(). They
weren't in sync with the non-inline version in libroot anymore, and aren't
really performance-critical anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-04 17:43:44 +00:00