Commit Graph

21980 Commits

Author SHA1 Message Date
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
Oliver Ruiz Dorantes
d89505dc24 Wrong method name
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 19:51:44 +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
eac3f1b76d Added marvell_yukon driver, and marked all FreeBSD drivers to be compiled for
x86 only (for now, that should be easily fixable).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 12:31:33 +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
Jérôme Duval
c3948f5dd4 ipro1000 doesn't build on ppc
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-29 20:10:31 +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
Ingo Weinhold
78fc510a76 The behavior of pthread_getspecific() when called with an invalid key is
undefined as per Open Group Base Specs. Commented out the code block. It
doesn't do what the preceding comment suggests anyway. In fact the whole
test doesn't quite do what the comment in the header promises.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 00:14:41 +00:00
Ingo Weinhold
92ab20b3a4 Added a list of death_entry's to the teams structure. It stores the
exit status of (non-main) threads of a team. Fixes bug #1644.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 00:07:32 +00:00
François Revol
d61a403741 Fix build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-27 22:32:31 +00:00
Axel Dörfler
7f30afa46c * Renamed old ipro1000 driver to beos_ipro1000, as it's still valuable for BeOS R5
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
2007-11-27 16:38:20 +00:00
Axel Dörfler
5845b6ecc5 * The boot loader now remembers the bytes per row as told by the graphics card, and
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
2007-11-27 16:33:19 +00:00
Ingo Weinhold
18007c8e32 The pthread_*() functions don't set errno, but return the error code
directly. Hence perror() doesn't print anything useful.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-27 15:29:47 +00:00
Ingo Weinhold
c63bdde05e Correctly return errors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-27 15:27:52 +00:00
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
Ingo Weinhold
04f08f4f65 Patch by Vasilis Kaoutsis:
* Added pthreads posix test suite tests to run script and image.
* Improved output for said tests.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 23:25:59 +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
François Revol
01d9afe0d9 Add OpenSound media node to the image, as the one included in the opensound zip is built with gcc2 and won't load with gcc4 builds.
Hope having both doesn't do nasty things on gcc2 builds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 18:15:43 +00:00
François Revol
2318ec87fd gcc4 fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 17:48:46 +00:00
Oliver Ruiz Dorantes
15bf869553 Remove fetched item in the recycle list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 16:48:20 +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