Commit Graph

19117 Commits

Author SHA1 Message Date
Axel Dörfler
2c0729ea2d * Turns out the 3com driver wasn't picked up after my changes, but the marvell_yukon driver
worked flawlessly this one time... (I got almost 10 MB/s with that one, now 7.5 MB/s with
  the 3com driver)
* We need to acknowledge the interrupt in the handler, because else, the interrupt continues
  to fire after the PIC interrupt is acknowledged by the kernel.
* It also helps a lot to turn off the interrupts on the device while xl_intr() is handling
  the interrupt.
* When the slow handler is running, we now set the new "handling" field in the internal
  interrupt handler which will not invoke the scheduler then (but only signals a handled
  interrupt).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 19:38:51 +00:00
Axel Dörfler
f79121dacb * Only acknowledge the interrupt in the service thread, so that no new one will be triggered.
* Also, loop as long as new interrupts are coming in.
* This fixes the high CPU usage and low throughput of the 3com driver; it now works just fine;
  dunno why it worked for me that well last time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 14:52:14 +00:00
Jérôme Duval
a5d8db5d76 fix linux build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 14:40:33 +00:00
Axel Dörfler
21885de266 * BFS now always writes back the whole block when it writes the super block.
* Therefore, I've added an I/O control that let's it update the boot block
  part of this block, so that makebootable can use it on a mounted volume
  (this will probably be moved into a disk system API later).
* Added user_memcpy() to the fs_shell.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 14:23:35 +00:00
Jérôme Duval
477d25de35 don't add backgroundTexture.tga as default folder image
fix bug #1649


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 12:45:03 +00:00
Jérôme Duval
d2d6724788 added pthread_once() implementation and tests
there is still a TODO on an init race condition 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-07 21:02:59 +00:00
Michael Lotz
dfa4dfe033 Something else that has been laying around for some time. Implemented hash_grow() that can grow a hash table to a new table size. Automatic growing is commented out in hash_insert() since there needs to be a way to disallow growing in certain cases (i.e. where no allocations can be made). This is detailed in the ToDo at the top of the file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-06 21:58:06 +00:00
Michael Lotz
849e3c6724 First try at implementing driver rescans (this has been laying around my disk for quite some time).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-06 21:36:15 +00:00
Stefano Ceccherini
9b95b879f7 Set the low color to be the same as the view color, otherwise
antialiased text won't work correctly (for example when you set a dark 
color).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-06 21:17:46 +00:00
Stefano Ceccherini
46f29e60b4 Also update the ui_color for menu backgrounds, when using set_menu_info.
Update the menu_info neverthless, when setting the ui_color for menu 
backgrounds. Fixes bug #550.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-06 21:09:35 +00:00
Axel Dörfler
a83a20f685 * Made cal.c compile, and fixed warnings.
* Added it to the build, and the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-06 20:40:24 +00:00
François Revol
ba1265f96e Print a new line there for cleaner output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 22:00:06 +00:00
Axel Dörfler
d3a580d2e0 The fs_shell now also works with devices that don't return a correct
hd_geometry, but do support the BLKGETSIZE64 ioctl (it just crashed 
before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 18:33:58 +00:00
Stefano Ceccherini
ebe41f1a76 added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 12:13:43 +00:00
Stefano Ceccherini
d7c343d92c Dispatch also the B_WINDOW_ACTIVATED messages. This fixes bug #613, but
we need to check which other messages are handled by beos here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 12:12:48 +00:00
Stefano Ceccherini
956a0d199c Use floorf() on the calculations otherwise casting to an int could
truncate negative values to 0. Fixes bug #914.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 11:21:18 +00:00
Stefano Ceccherini
8d6c93fb2a Renamed all member variables to fit our guidelines. Removed useless workaround for an old beos bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-04 13:02:33 +00:00
Stefano Ceccherini
c0728ccd2a The placement of the animation view was off by one to the left. This
caused bug #96.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-04 11:06:56 +00:00
Stefano Ceccherini
ee3f1027be Selecting text from right to left didn't work. I disabled the use of
ResizeSelection() because it didn't support this. Selecting text flicker 
a lot now, it will be fixed later. Selection should be changed to work a 
bit more like BTextView. This fixes bug #1638


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-04 10:58:31 +00:00
Ingo Weinhold
dc5e011806 Make the syscall_time test compile under BeOS, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-03 13:25:44 +00:00
Axel Dörfler
4afaeabbd8 * bfs_free_cookie() accidently reverted a transaction after having updated
the inode's internal last modified and size copies, causing in inconsistent
  data. This fixes #1643.
* The block being replayed are now dumped to the debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-02 16:38:38 +00:00
Axel Dörfler
fc8ffb64ec Applied a slightly changed patch by cl21: changed how the BListItem layouts
its text contents. This fixes bug #619. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 19:51:56 +00:00
Ingo Weinhold
ccaac177f6 Use is_computer_on() as test syscall.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 19:27:30 +00:00
Axel Dörfler
4a241f2ac3 Some more extensions to the FreeBSD compatibility layer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 17:34:59 +00:00
Axel Dörfler
5536ea1018 The Marvell Yukon driver needs the SWI task queues as well. The driver is now working, but it
does not yet work reliably here - it encounters a "PCI Express protocol violation", at least
that's what it says. Will look into that later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 13:18:09 +00:00
Axel Dörfler
589e5418f1 * We need to call if_init() before trying to set the media.
* Accidently excluded the MII bus from being probed in r23019 - in fact, now all
  devices have to be probed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 13:16:34 +00:00
Axel Dörfler
4dc1122b30 The "ints" KDL command now also dumps the handlers associated to a vector.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 12:01:11 +00:00
Axel Dörfler
1f89a3766a * device_delete_child() now works differently from FreeBSD: in FreeBSD you can't just
call this function if you don't know if a device has a direct reference to one of
  its children. Since we want to be able to delete the root without having any knowledge
  about its children, we now detach everything first, and then delete the entries.
  This fixes a possible crashing bug when a preloaded driver (used for network boot)
  tried to acquire its resources again at a later point.
* device_detach() and device_attach() now check if the device has an attach or detach
  method at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 11:09:58 +00:00
Michael Lotz
3bd7e77cfa Messed up those numbers. The interval can range from 0 to 16 and we can use 0 to 10 with the 1024 frame list. So it's obviously 11 entries and not 10. Fixes the wrong tree layout and the doubled polling intervals of interrupts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 10:18:27 +00:00
Oliver Ruiz Dorantes
90e2260736 Remaining part of the USB-BT driver. Events are commands are tested and working. ACLcode is untested and needs review. Lacks some general headers to be able to compile it, as I am still considering making some org. changes. Commiting for possible reviews or suggestions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 19:59:29 +00:00
Axel Dörfler
82edabb115 Implemented device_detach(), and bus_generic_detach() - both are needed by
the updated mii code on destruction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 18:50:40 +00:00
Axel Dörfler
debb1200cc Accidently removed our changes when updating to the FreeBSD 7 version of the driver.
Ingo, this is your chance to remind me of the vendor branch :


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 18:39:56 +00:00
Ingo Weinhold
0c9373b72c * Removed the BUILDING_FS_SHELL guarded code. It was needed for the old
FS shell only.
* Accessing attributes of symlinks was broken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 14:23:46 +00:00
Ingo Weinhold
7cb2be2a48 Uncommented the pthread_key_create() tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 14:21:17 +00:00
Axel Dörfler
372952dffc * We now cache the local hardware address in the protocol object. This allows
us to not have to look it up in arp_send_data(), and also to have more than
  one uninitialized interface around (ie. set to INADDR_ANY), and still have
  the ARP layer act correctly.
* arp_update_entry() now allows entries that link to INADDR_ANY to be updated
  at will. This fixes trying to bring more than one uninitialized interface up.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 14:10:52 +00:00
Axel Dörfler
30710739a3 * compat_open() still needs to get the stack module, as the callout
functionality needs it.
* callout_init_mtx() now initializes the timer manually, since the stack
  might not have been loaded yet (since a device is now attached in
  init_driver()).
* Minor other fixes; the FreeBSD compatibility layer should now be functional
  again.
* Accidently put pci.c into the repository, but that was never meant to happen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 12:28:51 +00:00
Axel Dörfler
053693ef2a Since device_add_child() needs the name of the parent driver, the root
device needs a driver_t object, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 09:40:52 +00:00
François Revol
2e3233d74e Propagate set_ui_color() up to the DesktopSettingsPrivate class.
Still needs code to save the values.
Also needs a way to access them from Decorator::UIColor(), but the DesktopSettings passed to the ctor can't be cached.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 01:21:19 +00:00
François Revol
fef10c612a Test code to set other ui_colors...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 01:18:23 +00:00
François Revol
4ba49f69e4 A WindowShade mockup, not yet functionnal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-29 21:48:33 +00:00
Axel Dörfler
b7ac21f6cb * Updated the driver to the FreeBSD 7 version.
* Made it compile - not yet tested (but I do have the hardware).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-29 19:12:20 +00:00
Axel Dörfler
080b265acd Completely renovated the FreeBSD compatibility layer:
* Removed NETDEV() and DEVNET() macros and functionality.
* The exported devices are now attached to ifnet objects only, therefore, the
  ifnet object now has the receive queue, and everything else a device could
  need.
* There is now a root device where everything else is attached, it currently
  only holds the pci_info structure, so it's more or less a PCI child.
* This simplified the device handling a bit everywhere.
* We now attach drivers already in init_driver() - this is needed as drivers
  may publish more than one interface when being attached.
* Implemented device_delete_child(), device_attach() (which bus_generic_attach()
  now uses), device_is_attached(), and device_is_alive().
* Therefore, if_initname() does now the actual job of registering the devices.
* On open, if_init() is called which comes pretty close to what our open()
  is supposed to do.
* Updated ukphy.c to the one from FreeBSD 7 where used (we should probably
  move that into the compat layer, anyway).
* The MII driver array must now be NULL terminated; therefore you don't need
  to specify the count anymore.
* Moved PCI code from compat.c to bus.c.
* Moved the driver code from device.c to driver.c.
* Removed superfluous init_compat_layer() function.
* Fixed a few bugs, a few things weren't brought down correctly.
* The rtl8139 interrupt routine now checks if it really was the cause of the
  interrupt - this code is not tested, either, it may not work (which would
  then require a work-around like I did for the 3com driver).
* The HAIKU_PROTECT_INTR_REGISTER in the rtl8139 driver was pretty much useless
  which is why I removed it.
* Probably introduced a lot of new bugs, though - I haven't tested this code
  at all yet. It will probably just crash :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-29 18:56:03 +00:00
Stefano Ceccherini
423e822abe Only enlarge the menus if there's a submenu symbol (regression). Fixes
bug #1647.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 22:19:24 +00:00
Axel Dörfler
b26de2e398 Some additions from FreeBSD 7 code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 22:16:55 +00:00
Axel Dörfler
78f45b048f Added e1000phy code to marvell_yukon driver. The driver is still not functional,
though - it's a bit more complex, and needs a better compatibility layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 22:13:48 +00:00
Stephan Aßmus
af65a961b9 * I don't know what's going on, but with this change, I can boot Haiku again
on my P35 with JMircon controller. I still have the "pci fixup" disabled
  though. Without this change, I could boot until the blue desktop background
  with cursor, but all the apps were in frozen state and would not display
  on screen (F12 worked and showed Tracker and so on as running teams, but
  I could not even move the mouse)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 18:38:34 +00:00
Axel Dörfler
6b09666034 The compatibility layer was calling if_init() too early, I've now moved it to the compat_open()
function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 17:00:33 +00:00
Axel Dörfler
8fce87ae34 * device_add_child() now also works for sub-drivers, needed by the marvell_yukon driver.
* The device path is currently inherited from its parent which might be revised later on (nameunit
  is not y


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 16:59:35 +00:00
Axel Dörfler
1ab7a518e9 Added fallback MII to the marvell_yukon driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 16:50:48 +00:00
Axel Dörfler
6244441ad4 * Made the debugger command "team_images" a bit more useful: it now accepts a
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
2007-11-28 11:56:06 +00:00