Commit Graph

9436 Commits

Author SHA1 Message Date
Axel Dörfler
9902467dac Fixed the build in case debug output was enabled.
Moved the debug macros into the program flow, so that they don't look so
temporary :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 00:32:10 +00:00
Ingo Weinhold
480742bd7a KPath added to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 22:15:11 +00:00
Ingo Weinhold
f3604f65e7 * Added missing `flags' parameter for the mount functions.
* fs_mount() and fs_unmount() are now aware of partitions. A device to
  be mounted is looked up by the DDM and the mount state and mount
  cookie of the corresponding KPartition are updated accordingly.
  Still missing is support for mounting files. Moreover the device path
  needs to be normalized.
* Added RecursiveLockAutoLocker class to ease the `goto errN' pain a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 22:11:57 +00:00
Ingo Weinhold
5de8542789 Since the kernel links against libgcc.a and we use some C++ features that cause functions of libgcc.a to be included that use a couple of formerly undefined symbols (stderr, fprintf, abort, debugger) those had to be added to kernel_cpp.cpp. We don't build the kernel utils as static library anymore, since libgcc.a is listed at the end of the link command line and trying to change that would be a bit ugly. For C++ in the boot loader nothing changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 22:07:00 +00:00
Ingo Weinhold
2cee54a863 Use KPath now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:59:54 +00:00
Ingo Weinhold
8ece359269 Uses KPath now, which significantly reduces the stack footprint.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:59:05 +00:00
Ingo Weinhold
1766c66484 Added header directories needed now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:57:23 +00:00
Ingo Weinhold
92eb857652 Used KPath where possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:56:38 +00:00
Ingo Weinhold
92221d2425 KPath is used now where possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:56:05 +00:00
Nathan Whitehorn
f12d422d6a Fixed POP3 SSL build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:55:16 +00:00
Ingo Weinhold
3f3f9cb61a Added Unlock() (an nicer sounding alias for Unset()) and Detach() (the lock is kept when the object is destroyed) to AutoLocker.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:54:12 +00:00
Ingo Weinhold
1b5f626633 * Changes to use KPath where possible now.
* Made GetMediaStatus() a bit more robust. If the ioctl fails (e.g. if it
  is not implemented as in Thomas' drivers), it gets the device geometry
  and does not fail, if the device is not removable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:52:33 +00:00
Ingo Weinhold
0707c10377 KPartition::GetPath() now uses the new KPath class, which makes it more convenient to use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:48:47 +00:00
Ingo Weinhold
1d5b7e0b23 _user_mount() now has a flags parameter, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:45:04 +00:00
Ingo Weinhold
534145b30c Flags are now passed to _kern_mount().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:44:05 +00:00
Ingo Weinhold
ad6059d89f Added missing flags parameter to _kern_mount().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:42:13 +00:00
Ingo Weinhold
d68a188e6d Added class KPath. Convenient wrapper for a fixed-sized path buffer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:41:16 +00:00
Ingo Weinhold
42b568aeb5 Moved to headers/private/kernel/disk_device_manager, since it is included by KDiskDevice.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:38:01 +00:00
beveloper
1887ce98cb Added DV decoding support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:09:56 +00:00
Axel Dörfler
c045a66d75 Gosh, didn't even find the time to adapt map_page()'s comment to the new world.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 17:13:20 +00:00
Axel Dörfler
48ac51f886 Added support to map more than 4 MB in the kernel space. This became necessary
to be able to have more than 1280x1024x8 resolutions. The best solution, however,
would be to map the graphics memory outside of the kernel space, anyway.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 16:44:04 +00:00
Axel Dörfler
1b50789288 Running a menu may change the currently selected entry, so we need to update its saved index.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 16:42:05 +00:00
Axel Dörfler
a7fb02e6a2 No longer enables video mode when in debug mode (when a menu came up before
it switched to the logo mode afterwards).
Improved and broke the second call of platform_switch_to_logo() with a
different video mode: it now at least works when switching to a lower
resolution.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 16:25:30 +00:00
assimil8or
ead4f89ebb - rewrote the code that searches the for a free pty/tty - it is much cleaner now, as we talked about on the mailing list some time ago. \n- started to apply our styling guide \n- some changes not worth mentioning here and there ;)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 15:54:47 +00:00
Axel Dörfler
7b5e243a4d Added prototype for the new vfs_get_fs_node_from_path() function. It's
currently only used in devfs for the publication of partitions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 15:22:00 +00:00
Axel Dörfler
0ec71451f5 Added a more or less clean implementation of devfs_publish_partition(); might
be changed later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 15:21:11 +00:00
Axel Dörfler
b81068c0c8 Turns out that the interrupts were temporarily turned on during startup,
and that main2() cannot therefore just wait until interrupts become
enabled.
Now, the main2() thread is resumed after interrupts are turned on.
I am not yet sure if this is really necessary, but I have the feeling that it is.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 14:00:40 +00:00
Axel Dörfler
4002d2d272 Improved state_to_text() output to match the states in get_thread_info().
Improved the threads list: despite looking much better, it now also prints
out the semaphore number a thread is waiting on.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 12:50:48 +00:00
Axel Dörfler
f048d50953 Padding was broken for strings and characters since the move to vsnprintf().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 12:47:16 +00:00
Axel Dörfler
162eda1e2f Fixed a bug that would select a non-selectable entry when wrapping around
the "cursor".
Now disables serial output when the boot menu is shown.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 01:08:48 +00:00
Axel Dörfler
c9e4e71f10 Implemented optional additional serial output in the boot loader.
When the debug boot option is set, or ENABLE_SERIAL defined on compile time,
the serial port 1 is activated.
It will also read the serial base port info from the BIOS data and use
that if any ports are reported (will fall back to 0x3f8 if not).
Right now, a fixed baud rate of 115200 and 8n1 is used.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 01:06:33 +00:00
Axel Dörfler
f2ea9af307 The boot loader now can tell the x86 serial driver the serial port base
addresses as reported by the BIOS.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 01:02:05 +00:00
Axel Dörfler
628e5a0374 The new fSuperItem menu field is now maintained, ie. Menu::Superitem() and
Menu::Supermenu() now work.
Added function to find an item by label.
The boot volume menu now actually lets you choose a different boot volume.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 00:59:56 +00:00
Axel Dörfler
e76877adae Added a function to find a menu item by label.
Added super item/menu getters, and a new fSuperItem field.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 00:56:46 +00:00
Axel Dörfler
794822a8b5 Removed the error count from sys_rstat() as this can easily happen with
links and can be regarded as an harmless error (maybe it should directly
test for broken links, though).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 00:48:20 +00:00
Axel Dörfler
a7e04f442b Calm down scsi_dsk driver.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 00:02:31 +00:00
Axel Dörfler
55aea1cc5d Calm down SCSI bus manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 23:58:50 +00:00
Axel Dörfler
b09a63b4f7 Now has a special case if the length read or written is 0 - because in this
case, the read/write must not fail, even if there is no block_run at the
specified position.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 23:51:18 +00:00
Axel Dörfler
b229567a92 Now puts out a message if the kernel doesn't fit to the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 23:31:48 +00:00
Axel Dörfler
c32cb87156 Moved arch_dbg_con_init() to the end of the file.
Added the new arch_dbg_con_early_boot_message() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 23:30:51 +00:00
Axel Dörfler
cc67a158ee Added function for an early boot message before anything else (because of
an error, there is supposed to be one of these at maximum right now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 23:29:00 +00:00
Jérôme Duval
7ff4a24347 added all_workspaces flag
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 21:15:46 +00:00
Jérôme Duval
65018030ea Completed Team Monitor
Unimplemented : 4 seconds pressing reboot


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 21:05:06 +00:00
Axel Dörfler
3296ebb98a When attributes get overwritten, the size may only change with string types,
ie. it makes sense to optimize the case when we don't have to move any other
item in the small_data region around.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 19:42:36 +00:00
Jérôme Duval
c393770444 fixed devices showed as stopped when they were running
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 09:33:45 +00:00
Jérôme Duval
16aff24b99 replaced with the standard patch
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 23:39:57 +00:00
Axel Dörfler
764201fdae Added a workaround for buggy BeOS (all versions) - if you need the setjmp.h
header, you should define COMPILE_FOR_R5 when you want to run the software
under R5 in order not to crash.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 23:29:24 +00:00
Axel Dörfler
8083619cf7 Since the additional 512 bytes of dprintf() on the stack can potentially
change the flow of things, it now has its own buffer, and fills it with
interrupts disabled (everything comes at a price).
Now uses the safe vsnprintf() instead of vsprintf() which could crash
the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 22:53:37 +00:00
Axel Dörfler
e88a0f0885 thread_init() now calls the new arch_thread_init() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 22:30:44 +00:00
Axel Dörfler
f9fea8ac78 A clean FPU state is now saved during init, and copied into every fresh
thread. That also allows kernel threads to use the FPU as well.
arch_thread_enter_uspace() no longer needs to initialize the FPU.
i386_stack_init() is now only called once, in arch_thread_init(), as
thought.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 22:29:00 +00:00