Commit Graph
168 Commits
Author SHA1 Message Date
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
Stephan Aßmus c50a1ab8a4 * fix spelling mistake diamont -> diamond (fixes #1618)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 23:00:11 +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
Bruno G. Albuquerque 13f2a5fa31 First cut at a fix to the FreeBSD rtl9139 driver. Some drivers require softc to
be initialized when probe(0 is called. The driver now loads and works for a
while until it hangs. Looking into it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-04 17:17:41 +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 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 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 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 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
Jérôme Duval 295059869b updated libpng to 1.2.22
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-26 18:09:44 +00:00
Stephan Aßmus 2a74c55308 * when a vector icon was present, BAppFileInfo::GetIcon() would return an
error if the provided bitmap was B_CMAP8, now BIconUtils will convert the
  icon to B_CMAP8
-> this behaviour is a little inconsistent compared to what happens when
  reading icons from attributes, there, the CMAP8 icon is prefered in case
  such a bitmap is passed, even if a vector icon exists. I am not really
  sure which behaviour is better. For a consistent UI, maybe it is better
  to prefer the vector icon always. I've added a note to BAppFileInfo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 16:54:34 +00:00
Ingo Weinhold 8c2647695a * Removed the qoca library and the layouter implementation using it.
* Use the new ComplexLayouter for the more complex layouting tasks.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 22:48:20 +00:00
Stephan Aßmus 015a014aa7 * fixed quite a few selections bugs, most were caused by cyclic notifications,
and the mechanism to prevent them not working...
* could have fixed the "there are still listeners attached" bug (debugger drop)
  on exit, I have not seen it again, but I am not sure if it is really fixed
* introduced a way to ask the user, if changes should be saved and then
  pick up the line of thought after saving


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-21 15:21:38 +00:00
Ingo Weinhold 1f3138edcb * Moved qoca to src/libs/qoca.
* Made use of qoca opt-in. You have to set the jam/environment variable
  LAYOUT_CONSTRAINT_SOLVER to "qoca" to do that. Unfortunately it turned
  the latest version of qoca is GPL (only earlier version were LGPL; the
  license included in the downloadable archive was misleading), so we can't
  use it. Complex layouts constraints that would require constraint solver
  support are ignored until I've found a replacement.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-15 20:04:20 +00:00
Axel Dörfler 079c69cbfd Added daemon() function to libbsd.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-04 12:32:20 +00:00
Jérôme Duval 6a2b62ec79 updated freetype to 2.3.5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 21:33:28 +00:00
Michael Lotz 7ca97e3548 Patches by Salvatore Benedetto to fix changes made by me and also the underlaying problem that caused high CPU usage in the isochronous finisher thread. Also includes patches to support isochronous support through USBKit / usb_raw. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:00:53 +00:00
Ingo Weinhold 4dac6ac8de Allow building the BootLoaderTest (and zlib) for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 01:28:04 +00:00
Jérôme Duval 53fa6fbc76 updated libpng to 1.2.18, thanks Fredrik!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 10:59:46 +00:00
Hugo Santos 379d59225b freebsd compat. layer: fixed ETHER_GETFRAMESIZE handling. possible fix for #1238.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-21 22:55:01 +00:00
Hugo Santos f1d1b028f2 freebsd compat. layer: another go at multiple MII module support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:33:35 +00:00
Hugo Santos 8a43628971 freebsd compat. layer: some missing definitions as well as allowing multiple MII modules per driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:03:24 +00:00
Hugo Santos 4b2286de82 freebsd compat. layer: MII subsystem (needs testers, more to come).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 04:52:43 +00:00
Hugo Santos eb89c947d3 freebsd compat. layer: implemented miibus_readreg and miibus_writereg, it goes up through the tree until the driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 19:36:02 +00:00
Hugo Santos b650951128 freebsd compat. layer: split device structure to handle for miibus devices, added a new network_device.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 19:35:38 +00:00
Hugo Santos 2a275df505 freebsd compat. layer: a couple more definitions, minimal, mostly adding a new glue method to re-enable device interrupts since if_rl (rtl 8139) will require it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:13 +00:00
Hugo Santos 7d1e0a1da9 freebsd compat. layer: fixed a couple warnings, use KernelStaticLibrary as suggested by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:49:05 +00:00
Hugo Santos ed014fee89 freebsd compat. layer: when open()ing the device, and setting it up, don't clear the device flags (multicast included).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 05:40:39 +00:00
Hugo Santos 07ef8870a3 freebsd compat. layer: multicast support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 05:37:46 +00:00
Hugo Santos 0747d47e40 freebsd compat. layer: added swi taskqueue and a couple more methods that if_xl needs. also marked some as unimplemented so its clearer what is left to be done.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 04:21:47 +00:00
Hugo Santos dcaf1f47c5 freebsd compat. layer: splited freebsd original code into own files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 03:00:57 +00:00
Hugo Santos 100b6e6537 freebsd compat. layer: close() and free().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 01:28:02 +00:00
Hugo Santos 9628dc45e2 freebsd compat. layer: remove arbitrary limit on number of created threads available in taskqueue_start_threads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 00:55:10 +00:00
Hugo Santos 303a4a3df6 freebsd compat. layer: a couple more changes. a DMA-using driver (FreeBSD's em, Intel Pro 1000) now works without any modifications (it has a fast interrupt mode).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 00:29:29 +00:00
Hugo Santos 4d281161ba freebsd compat. layer: respect requested priority in taskqueue_start_threads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 17:15:16 +00:00
Hugo Santos 3f3e58db20 freebsd compat. layer: gcc 4 fixes, it seems __FUNCTION__ is variant.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 17:01:10 +00:00
Hugo Santos adf9024529 freebsd compat. layer: only init taskqueue_fast if FBSD_FAST_TASKQUEUE requirement is set (since it starts a thread and consumes a couple semaphores).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:53:13 +00:00
Hugo Santos b6ace498dd freebsd compat. layer: added a requirements field so not all drivers init all subsystems. pcnet for instance doesn't need taskqueues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:48 +00:00
Hugo Santos 859a95b6c7 freebsd compat. layer: taskqueue implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:26 +00:00
Hugo Santos 25d42ceb99 freebsd compat. layer: a few more definitions, preparing for a DMA-using driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 13:10:02 +00:00
Hugo Santos b27873dc4a freebsd compat. layer: added ETHER_SETPROMISC, ETHER_GET_LINK_STATE and ETHER_SET_LINK_STATE_SEM support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:29:06 +00:00