Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler a3e9996e9d Added support for special reserved address ranges: they will be used
only if memory becomes tight, and then the range is used from end to
start.
This is useful to reserve heap address ranges.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 15:56:55 +00:00
Axel Dörfler 20a6e5473b Renamed RESERVED_REGION_ID to RESERVED_AREA_ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 15:06:57 +00:00
Axel Dörfler ccc8865ba2 Added an additional flag B_OVERCOMMITTING_AREA (currently to be specified
along the protection flags).
Changed the handling of B_STACK_AREA types and anonymous vm_areas: now
every area can overcommit if B_OVERCOMMITTING_AREA was specified.
B_STACK_AREA areas are still automatically overcommitting, but
B_KERNEL_STACK_AREA areas no longer.
vm_store_anonymous_noswap.c now only tests for guard pages if there were
any specified which is only done for B_STACK_AREA areas.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 15:03:44 +00:00
Axel Dörfler d5b04e50f8 First step into a new block allocation strategy for the block_cache
(right now, it's still malloc/free, just encapsulated in an allocator class).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-13 18:18:28 +00:00
Axel Dörfler f95eb77cef Another mini-update to at least correct the updated part of the text :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-13 00:01:00 +00:00
Axel Dörfler 0faec19e8a Cleanup, turned off debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 23:43:39 +00:00
Axel Dörfler 6bdc405f75 Whenever KPath is used, it will now be tested if it could be initialized
(thanks to Ingo for the reminder...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 23:31:04 +00:00
Axel Dörfler 90a0e0b9d9 Cleanup, turned off debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 23:29:28 +00:00
Axel Dörfler 879d9c6b6e Renamed the "blkman" module to "block_io".
Also renamed some defines and structures, although the structure and some other names are still odd.
This module should probably be moved into the kernel anyway, as it provides basic and crucial services.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 15:43:02 +00:00
Axel Dörfler c3a92c3186 Renamed blkman to block_io - the module name etc. will follow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 14:28:43 +00:00
Axel Dörfler 6094d89f2f Merged branches/developer/axeld/driver_recognition changed r12307:12637 into trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 03:27:44 +00:00
Axel Dörfler cbd1d9977f Changed all _kern_*() calls to use KPath instead of a path buffer on the stack.
This reduces the stack usage quite a lot, and since file system calls could be
nested (for example, a mounted image on a volume), definitely a must, too.
Might be a good idea for user calls, too, though, although it's not urgent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 01:14:01 +00:00
Axel Dörfler 24cea645f1 Moved all documentation out of the device_manager.h header file to this place.
We might want to use it as a basis for the device manager documentation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 16:40:13 +00:00
Axel Dörfler 3a5624e900 Replaced the strange BEOS_ADD_ONS_BUSMASTERS with BEOS_ADD_ONS_BUS_MANAGERS and
BEOS_ADD_ONS_KERNEL_MISC.
Added PCI IDE modules to the build and boot links.
The config_manager can now be handled like every other bus manager.
The config_manager appeared twice in the jam argument list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 02:03:18 +00:00
Axel Dörfler ad5caf291f Updated the config_manager Jamfile to use the KernelAddon rule instead of KernelObjects/KernelLd.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 02:00:37 +00:00
Axel Dörfler 5514672d42 Added a syscall timing utility, similar to the one in NewOS.
Can also be run under R5 when TARGET_PLATFORM=r5 for comparison.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-04 01:03:44 +00:00
Axel Dörfler 367861b645 This fixes the bfs_shell build under Linux: replaced B_OK with FS_OK in
tracker.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:34:32 +00:00
Axel Dörfler 895e2a0375 Reenabled the Qemu workaround: the frame buffer is now cleared after a mode change.
After all, there might be real graphics card which behave the same??


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:06:08 +00:00
Axel Dörfler 1a802114af Got the Visit() return value wrong: "true" means to abort visiting the
partitions, because the right entry was found - but we always want to
visist all partitions, anyway.
Also, if a partition has not been mounted yet, no mount point will be
printed.
The device string is still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:04:02 +00:00
Axel Dörfler 75e4e6ee69 Fixed a small bug: the proposed name of a file system was always "unnamed volume"
in case BPartition::Name() was NULL or empty (ContentName() was ignored).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:00:58 +00:00
Axel Dörfler 0953c83ebd Fixed another bug: after a partition had been mounted, it was only marked
mounted, but no one told it about its volume ID - that caused "mountvolume"
not to be able to return a valid mount point.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 01:59:17 +00:00
Axel Dörfler 47729f044c Fixed a possible bug in path_to_vnode(): if called before a root
file system has been mounted, it would have crashed (that for example
happened if you deleted the kernel settings file...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 01:05:20 +00:00
Axel Dörfler 9c3942070a Added mountvolume to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 00:36:43 +00:00
Axel Dörfler 509676a027 Fixed mountvolume to make it compile and somewhat work (only tested listing volumes yet).
Added it to the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 00:31:52 +00:00
Axel Dörfler b07ce77575 BDiskDeviceList now has a default value for the "useOwnLocker" argument - it defaults
to using its own locker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 00:28:31 +00:00
Axel Dörfler 03989987d5 The ChannelSliderTest now always tests Stefano's implementation instead of R5's.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-02 22:35:01 +00:00
Axel Dörfler d4112f6bc5 Applied some changes suggested by mmu_man, more to come, though:
- has_signals_pending() is not declared in Be headers, and it isn't declared in
  our KernelExport.h anymore, too
- removed snooze_etc() from KernelExport.h, as it's already defined in OS.h
  (and really exported by libroot.so).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 11:41:12 +00:00
Axel Dörfler 55932743b4 Cleaned up, added a ToDo comment where it behaves (possibly) strange.
The properties are now the same as in the Be version - there is no reason (IMO) for usage
comments like these; it's a public class, and its scripting usage should be documented in
the BeBook, if anywhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 00:58:39 +00:00
Axel Dörfler aed75ba2f6 Added a SetViewColor() before and after AttachedToWindow().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 00:30:24 +00:00
Axel Dörfler 8bdf4008fe Added test for BCheckBox (message sending is actually not tested, though, only drawing)...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 00:17:40 +00:00
Axel Dörfler 80bd55147b Many changes, it now does work okay on Haiku (tested with consoled only (both,
keyboard and mouse part), since for some reason, the app_server refuses to work
with the input_server for me now):
- keyboards are now actually detected, the keyboard device is only published if
  there actually is a keyboard
- keyboard_close() no longer calls put_module() for the ISA bus manager; it's
  sharing that resource with the mouse driver.
- rewrote the keyboard command handshake; now, the acknowledge byte is always
  considered, and it's now also safe to call keyboard commands with the interrupt
  handler installed (bytes read are now safely routed through the handler).
- keyboard_open() now also sets the PS/2 command byte to enable keyboard
  interrupts (this may actually have been the source of all evil - ie. keyboard
  not working after having touched the mouse)
- many commands now try again several times if they failed
- ps2_get_command_byte() is now safe to be called when the keyboard driver
  is up and running, too (it's now locally buffered)
- more and better error checks
- possibly more I forgot about...
- general cleanup.

Note, there is still some functionality missing from the keyboard driver:
- ctrl/alt/del handling
- key repeat (delay, time, non-repeating)

Repeat stuff might better be moved to the input_server add-on, anyway, for
more flexibility and better performance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 19:04:06 +00:00
Axel Dörfler b20667b35b {install|remove}_io_interrupt_handler() now correctly handle the B_NO_ENABLE_COUNTER flag.
Lots of cleanup:
- moved B_NO_ENABLE_COUNTER flag definition out of int.h to KernelExport.h, as it's
  described in the BeBook (although it's probably not really used that often :))
- int.c no longer has any platform dependent code (+ 0x20 on interrupt numbers is gone);
  it's now entirely handled in the arch/x86/ section.
- the io_vectors[] is now statically initialized, instead of allocated from the heap
- removed {install|remove}_interrupt_handler(); they weren't that useful, arch_smp_init()
  is now calling install_io_interrupt_handler() correctly instead
- introduced a new arch_int.h header file that currently contains NUM_IO_VECTORS only
  (though on x86, it also has ARCH_INTERRUPT_BASE == 0x20).
- changed the return type from {install|remove}_io_interrupt_handler() from "long" to
  "status_t"
- rearranged and cleaned the PIC initialization code, made the PIC code more prominent
- changed comments that talk about a non existing 8239 (the PIC chip is actually 8259)
- moved arch/x86/interrupts.h to the source directory, as it's not used outside
- added BeOS compatible interrupts_enabled() function, that should replace our
  equivalent (and private) are_interrupts_enabled()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 01:08:35 +00:00
Axel Dörfler a38e60f223 Added "-f" option to only show real files.
Some cleanups and minor fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 20:29:30 +00:00
Axel Dörfler 7542e025d3 Corrected the last commit: we actually use the value of *_length later,
so we shouldn't overwrite it with zero...
I must have tested an older version of the driver by accident; now it
actually works again under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 20:27:46 +00:00
Axel Dörfler 24e4add56f This partially removes the changes made in r7099:
Apparently, the net_server does not use read()/write() but the kernel
syscalls directly. Even worse, it obviously ignores error values like
B_WOULD_BLOCK - the return length has to be set even in case of error.
The driver did not work at all under R5 net_server since then...
Some other minor changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 17:14:24 +00:00
Axel Dörfler 81012f638c Mostly cleanup and style guide changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 16:02:38 +00:00
Axel Dörfler 497d01f0b9 Some minor visual improvements: the keyboard input device now reports
"AT Keyboard" and "USB Keyboard", instead of "at|usb Keyboard".
Also, the mouse input device now reports a "PS/2 Mouse" instead of
a "ps2 Mouse".
Generally, both now capitalize the device name when reporting the name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-25 14:17:57 +00:00
Axel Dörfler 7b58474a09 Beautified some odd code (like "a ? a : NULL" to "a").
Applied our coding style guide.
No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-25 14:14:09 +00:00
Axel Dörfler 6a6f5ef6f3 Removed obsolete keyboard driver (one of them :-)).
The other driver is still in use by consoled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-21 20:56:04 +00:00
Axel Dörfler 807ba996da The matrox graphics driver now also works under Haiku when the target haiku has been set (tested).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-20 00:20:14 +00:00
Axel Dörfler 0f757dc5df This fixes the build with GCC 3.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-14 22:15:38 +00:00
Axel Dörfler e66be4a3cf Cosmetical change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 23:23:02 +00:00
Axel Dörfler b51d2e941a Now uses the ring_buffer implementation instead of cbuf.
Decreased the pipe buffer to 32768 bytes (it's 4096 on BeOS).
pipefs_select/deselect() did no locking.
Switched to using the BenaphoreLocker where possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 22:43:35 +00:00
Axel Dörfler 3e15f83d9e Added a BenaphoreLocker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 22:40:48 +00:00
Axel Dörfler 99cd375fb3 Another round of build fixes, courtesy of Philipp Schmid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 17:38:05 +00:00
Axel Dörfler fc26cdb2a8 No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 17:14:57 +00:00
Axel Dörfler 29b949de52 GCC 3 conforms to ISO-C-99 so _Bool is a built-in type; we should not try to redefine it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 16:51:55 +00:00
Axel Dörfler 92ec9b2fbc Added our old "new" header again, as I can't build anything without it under Linux (PPC and x86).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 16:50:25 +00:00
Axel Dörfler 6099dc09eb Removed the driver from the boot floppy.
Fixed location of the ldscript.
Is this driver needed anymore at all?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 15:12:47 +00:00
Axel Dörfler 900849fa0d Since objects/.../system/kernel is now a directory, the kernel target is now
called kernel_${arch} like on disk. A "jam kernel" will still work, though.
Also updated all those Jamfiles I forgot to update before.
Since makehdimage now runs through (and even builds a working image), I guess
most of the consequences of the "kernel/core" -> "system/kernel" rename task
are solved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 14:49:55 +00:00
Axel Dörfler 718b5114e0 This should fix the build after all the kernel/system renaming.
If anything is still broken (and was not before :)), please shout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 13:59:17 +00:00
Axel Dörfler 2d690920ac Renamed system/core to system/kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 13:22:10 +00:00
Axel Dörfler 5af32e7526 Renamed src/kernel to src/system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 13:06:35 +00:00
Axel Dörfler 530d77200b The PS/2 keyboard and mouse drivers are now using the new ring_buffer implementation
of the kernel. Also fixed unsafe userland communication, and other minor issues.
The packet_buffer encapsulates the ring_buffer and adds some handy functionality
(like locking).
Removed the global open masks - no reason for them to be defined globally.
Lots of cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 13:00:32 +00:00
Axel Dörfler ef2b38e7a9 Added a simple ring buffer implementation to be used by the mouse
and keyboard drivers, as well as pipefs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 12:57:42 +00:00
Axel Dörfler 709bbb9ea3 The input_server no longer uses R5 communication by default - this should
fix the keyboard/mouse problems of most (because they probably didn't know
about this flag). Still does not work for me, though.
Note, if you want consoled the use the input_server, or if you want to use
the input_server as an R5 replacement, you have to define this flag again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 12:55:54 +00:00
Axel Dörfler fce78d9e21 The console driver now supports TIOCGWINSZ (getting the window size), and
"consoled" now uses this information to tell the TTY its size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 12:51:26 +00:00
Axel Dörfler 7c71cdd82d Removed the "fixed" configuration - we could have built "less" fine for a couple
of months now. This solves (probably) all those strange problems you might have
experienced using it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 12:48:34 +00:00
Axel Dörfler 3f762b0d64 Turned two dprintf()s into the TRACE() macro, as their messages are not really that important.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 09:02:32 +00:00
Axel Dörfler 53465d39c5 Added gdb to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 08:56:32 +00:00
Axel Dörfler e826b3f47e put_module_image() is now again called independently from B_KEEP_LOADED - that has
the advantage that module_image::ref_count does not get messed up, so we could still
determine when to unload such a module (with an extra function).
get_module() now calls put_module_image() if B_MODULE_INIT failed - failing modules
were never unloaded before...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 08:55:03 +00:00
Axel Dörfler e6963ff534 If B_KEEP_LOADED is specified, it's now guaranteed that B_MODULE_UNINIT is never
called, and B_MODULE_INIT only once.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 08:42:06 +00:00
Axel Dörfler 39c2d6c421 If the debugger command "team" is used without arguments, it will now print a list of all existing teams.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 08:13:12 +00:00
Axel Dörfler a9ac393b28 The nvidia driver now works under Haiku when build with target haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 07:52:01 +00:00
Axel Dörfler 71ef877c9c A tiny bit more debug information in case a module couldn't be loaded.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 06:59:19 +00:00
Axel Dörfler 955d763c86 Inode::FillPendingRequests() did not work correctly; it would have written
arbitrarily into the current team address space if there are pending bytes
in the chain.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 06:37:24 +00:00
Axel Dörfler 1c59ca152c I accidently didn't disable SMP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 06:10:28 +00:00
Axel Dörfler f80b1fa5b5 Moved the kernel_startup variable declaration from int.h to kernel.h (it's defined in main.c).
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 06:09:13 +00:00
Axel Dörfler c46e419bc5 Fixed the most obvious bugs:
- it's restore_interrupts() not enable_interrupts()
- B_READ_AREA|B_WRITE_AREA gives every *userland* application full access
- fixed coding style
- the PCI module was never put away (but get_module() was called almost everywhere)
- added comments where the code looked buggy on first sight


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 05:47:48 +00:00
Axel Dörfler d67e6bc8a2 Fixed the build of several network apps under R5:
- removed libnetapi.so from $NETWORK_LIBS - it's not used by anyone anyway,
  and it's definitely not necessary to link against it by default.
  Note, this might cause problems in some of the mail add-ons; I haven't
  tested this.
- route/ping/... now also link against $SELECT_UNAME_ETC_LIB

makehdimage should now work again under all BeOS platforms.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 04:22:55 +00:00
Axel Dörfler c7def18e6d Fixed at least the most obvious violations of our style guide...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 04:15:15 +00:00
Axel Dörfler 79de26ad08 This fixes a bug and two warnings:
- pending_chain was set to -1, then MAIL:pending_chain was read into the variable "chain",
  but later pending_chain was used again for comparison - and if that was not enough,
  "chain" was later used again as well... (Nathan please check this)
- pending_chain was int32, Chain()->ID() uint32
- renamed pending_chain to pendingChain


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 03:49:59 +00:00
Axel Dörfler 8962594050 Fixed script for building an image file (network paths were wrong).
Removed GPLd network add-ons from the target image for now as they are only
compilable when the tree was configured to support GPL add-ons.
(I am not even sure if GPLd drivers are a legal problem for us, anyway)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 02:44:01 +00:00
Axel Dörfler e67b1c1ad0 Added the arch_vm_supports_protection() call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-11 17:52:37 +00:00
Axel Dörfler 5754659225 SMP integration work. Separated initialization from booting the other CPUs;
this way, it won't mess with the MMU anymore after mmu_init_for_kernel()
has been called.
No other real changes; still disabled, still doesn't work (on my machine
at least).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-10 14:49:09 +00:00
Axel Dörfler 3e2c0a3264 kDefaultPageFlags is now defined in mmu.h, so that it can be used
by other sources as well. Maybe we can remove that parameter from
mmu_map_physical_memory() altogether, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-10 14:45:24 +00:00
Axel Dörfler 8a43fdf807 Fixed the build for target Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-10 12:40:43 +00:00
Axel Dörfler a5ff23c727 Moved the vesa.h and vga.h headers to the private vesa driver header directory
for future use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-08 15:14:32 +00:00
Axel Dörfler 93ee21046d Added very basic VESA driver. Will be improved in the future (right now
it doesn't really do anything, it just passes the initial frame buffer
on to the app_server).
While it seems to work on real hardware (if you set the video mode to
640x480x32, app_server restriction), under Bochs, the app_server crashes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-08 15:11:32 +00:00
Axel Dörfler 219dacab3c Changed our read link syscall and FS interface call to make it easily possible to be POSIX compliant.
Also changed readlink() to be POSIX compliant with those changes.
"ls -l" does now resolve links properly again (the new coreutils version outlined the problems).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 16:07:10 +00:00
Axel Dörfler a6548f7b39 Fixed the strange return code in the read/write hooks (it's now B_NOT_ALLOWED instead of EROFS).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 12:53:17 +00:00
Axel Dörfler 2a912be1d8 Adapted Michael Noisternig's recent changes to the NewOS cbuf implementation
to ours - pretty hefty bugs, I wonder how it could work before at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 00:14:39 +00:00
Axel Dörfler 30cf0784e9 The device store fault handler will now check if a mapping exists
already before mapping it. That's necessary because the vm_soft_fault()
function cannot guaranty to call the fault handler only once.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 20:23:10 +00:00
Axel Dörfler d73bf8eb9f The lock_memory() hack now plays a bit nicer and will not map memory
that has already been mapped before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 19:07:45 +00:00
Axel Dörfler 6562f93e21 The fake_app_server is now installed and launched by default, so that
RUN_WITHOUT_APP_SERVER is no longer needed.
This reduces the hassle when switching between the real app_server and
consoled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 18:36:48 +00:00
Axel Dörfler a8715f0fa5 Added debug output to pipefs_create_dir().
It now returns B_NOT_SUPPORTED instead of ENOSYS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 14:16:16 +00:00
Axel Dörfler bc440dcb46 No longer used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 14:09:08 +00:00
Axel Dörfler fbf12e8758 The VM did not support the flags passed to set_area_protection(), but it didn't
know it yet - this fixes an endless loop in the VM fault handler.
set_area_protection() no longer disallows settings B_EXECUTE_AREA and B_WRITE_AREA
at the same time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 14:08:20 +00:00
Axel Dörfler d038008dae Replaced ERR_VM_INVALID_ASPACE with B_BAD_TEAM_ID for now (although B_BAD_VALUE
might be a better choice, this error suggests a kernel error - it shouldn't be
possible to achieve this with the public API).
Added fix_protection() function to make the area protection valid (ie. add
missing kernel protections), and also to make it consistent throughout the
API.
set_area_protection() no longer disallows setting B_EXECUTE_AREA and B_WRITE_AREA
at the same time: a) you can create areas with these flags, and b) it was thought
as a security feature, but it would be very weak (you could simply clone the
area read/write aynway).
The internal APIs now ask the arch VM if it can support the protection the
caller asked for.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 14:03:55 +00:00
Axel Dörfler ec5a9998df Added a B_NOT_SUPPORTED synonym for EOPNOTSUPP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 13:56:16 +00:00
Axel Dörfler a11ef9a454 Replaced the last ERR_VFS_* error codes with appropriate public ones.
Maybe we want to define B_* codes for this, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 13:53:37 +00:00
Axel Dörfler f05e261fd7 The VM can now ask the platform dependent part if it supports a specified protection.
create_area() and friends should fail if it's not supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 13:50:37 +00:00
Axel Dörfler 0bf4c7c564 The shortcut if you call setpgid(0, 0) is now also taken if you call it
with the IDs for the calling team, ie. setpgid(getpid(), getpid())
because it's essentially the same thing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 12:39:27 +00:00
Axel Dörfler 616fb065b2 fork() now also sets the __main_thread_id variable to match the new thread ID.
This fixes the "setpgrp() failed in child" message in gdb (that happened because
it lied and called setpgid() instead).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 12:36:00 +00:00
Axel Dörfler 7f915be3c3 Fixed _kern_set_cwd() and _user_set_cwd() - they did not properly
handle cases with fd and path at the same time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 01:09:07 +00:00
Axel Dörfler ae614d48fc Some minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 23:00:48 +00:00
Axel Dörfler 8c6be7fa23 Changed some odd strings, added missing ones.
In case of an unknown error, it will now also take the error base definitions
into account (ie. it could return "Unknown Application Kit Error (x)").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 19:25:21 +00:00
Axel Dörfler d3ff9cc39a The boot menu no longer changes the meaning of the default video mode once
you choose it in the menu.
The boot loader now always switches into a graphics mode unless it's in
debug mode (currently triggered by pressing the escape key on startup).
That means, "Standard VGA" now actually means mode 0x12 (640x480x4)
instead of text mode.
Since the current limited boot logo code would do stupid things with VGA
planes, there will now only be some colored blocks visible during boot.
Implemented support for monochrome modes in the frame buffer console.
Additionally, the frame buffer console now has support for the VGA mode; it
will treat all 4 bit modes as monochrome for now (the VGA 0x12 mode is a
planar mode so this works nicely).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 16:56:18 +00:00
Axel Dörfler 56aa0c51dc _user_get_safemode_options() would touch the provided buffer even if there was
an error (and thus, would trash it).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 16:15:02 +00:00
Axel Dörfler 4d5f980d99 The boot loader MMU can now also unmap/free memory - this is needed if the frame
buffer resolution changes during execution (ie. if the boot menu is opened late
and you change the video mode).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 16:10:09 +00:00