Commit Graph
100 Commits
Author SHA1 Message Date
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
Axel Dörfler 8b618fc01c The mouse add-on got the meaning of COMPILE_FOR_R5 a bit wrong.
Now, it will always link against our libbe.so, so it might not work under
R5 anymore at all (which is okay since it can now be run natively).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 14:36:17 +00:00
Axel Dörfler e5b0e0b5e3 Changed the set_segment_descriptor()'s usage of the limit/granularity
flag. Now, it will choose how to set the granularity by evaluating the
limit.
This call was actually already used this way in the kernel, so that
the TLS and TSS segments were much too large (harmless but incorrect).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 14:34:18 +00:00
Axel Dörfler 9d06770cdc The iframe stack is now in a special structure iframe_stack.
Introduced a gBootFrameStack that is used until the first thread structure
is available - this allows stack crawls and useful register dumps during
early startup. Could also be solved differently by making sure there is
always a thread structure installed in %dr3 (ie. the boot thread would
get a static thread structure instead of a static iframe stack only).
This might be a better solution as i386_handle_trap() would no longer
need to check for an existing thread structure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 14:13:25 +00:00
Axel Dörfler edb5566393 Fixed struct tss; there is no ss3/sp3.
Moved ptentry/pdentry to arch_vm_translation_map.c and renamed them to
page_table_entry and page_directory_entry.
Fixed a race condition that happened when memory was remapped (which
can currently happen because lock_memory() does not work correctly, and
there might be other conditions as well, like certain vm_store fault
handlers). Now, page table and directory entries are updated atomically.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 14:07:24 +00:00
Axel Dörfler 311049d751 Added a new PartitionMap::CountNonEmptyPartitions() - now, a partition map
is only accepted when there is at least one valid partition in it.
Before, the module would accept even the BFS boot loader which is now less
likely (IOW you can now boot with Bochs again).
Also, if there was one invalid partition, the partitions that come after
it are no longer ignored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 14:01:34 +00:00
Axel Dörfler 597c7235b9 Made the current debug stuff in our two keyboard drivers (one is used
by consoled by default, the other is used by the input_server) more consistent:
Now, F12 will get you into the kernel debugger. The escape key was somehow not
too happy with vim before :))


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 13:58:19 +00:00
Axel Dörfler b31c89d6e3 elf_lookup_symbol_address() can now safely be called before elf_init() has been called.
This is helpful in getting a stack crawl during early startup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 13:40:10 +00:00
Axel Dörfler 0c2ca2f1bf shutdown() is the main kernel shutdown function that also syncs disks, etc.
It cannot be called with interrupts off, and is likely to fail in the debugger;
arch_cpu_shutdown() reboots the machine directly which is what we want here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 13:38:31 +00:00
Axel Dörfler d305ab35ac Added the get_boot_item() call similar to what BeOS exports (have a look at
the APM driver to see it at work).
The frame buffer console now creates such a boot item to give a potential
VESA driver access to the boot frame buffer configuration.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 15:09:09 +00:00
Axel Dörfler 7cac40a1f2 A tiny cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 14:24:19 +00:00
Axel Dörfler e02e12de8a Updated radeon driver to the latest BeBits release 5.1.0.1.
Probably only works under Haiku due to the new area flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 14:16:38 +00:00
Axel Dörfler eb2068515f This fixes the build again; due to the glibc includes, math.h would not
be used from posix/math.h but some glibc headers. This is not nice, but
it works.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 13:12:19 +00:00
Axel Dörfler 929db8377e Minor tweaks to the menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 23:33:08 +00:00
Axel Dörfler c1e0d8cf5e The safe mode options now actually do what they should do, ie. the
selected "/safemode/" options are now passed to the kernel.
Added help texts to some safe mode options.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 20:10:19 +00:00
Axel Dörfler 29150acff7 console_set_cursor() now clips to screen size. This actually works around a
possible compiler bug that exposes with -O2 only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 20:06:31 +00:00
Axel Dörfler 207fb0b1ea Fixed _user_get_safemode_option(): the bufferSize passed in got overwritten
with the number of the actual string length, but it was still used for a
subsequent user_strlcpy() to the user buffer - therefore, it cut off one
byte from the result string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 19:32:50 +00:00
Axel Dörfler 914c87ccea No longer defines ENABLE_INPUT_SERVER_EMULATION if DISPLAYDRIVER is set to HWDRIVER.
Added a ToDo comment about the forgotten find_directory().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 19:29:57 +00:00
Axel Dörfler b58f01cef7 Fixed the buggy hoard lock implementation:
- we must not use static C++ locks: the heap is initialized before the
  global constructors are called which means that our sLockList was
  initialized twice, and lost all locks added inbetween
- *but* the lock implementation was completely wrong anyway: Hoard used
  to allocate superblocks, but it never freed them - instead, their memory
  was recycled when their time came. That caused semaphores to be in fact
  thrown away, but also corrupted the lock list
- I've now implemented the locks like they are implemented in the other
  architectures supported by Hoard: via a spinning (busy waiting) lock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 19:18:37 +00:00
Axel Dörfler d3be3f2cb1 The open_count/close hook stuff is now (hopefully) finally correct:
- vfs_exec_io_context() did not close descriptors
- no variant of dup() did increment the open_count

This allows "VARIABLE=`command`" bash lines to work again.
Removed redundant PRINT() macro from fd.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 17:22:33 +00:00
Axel Dörfler 2d7ad656ec Added "Disable IDE DMA" safemode option.
MenuItem::SetData() now asks for a const parameter.
The safemode menu options now set their MenuItem::Data() to the safemode option string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 15:16:09 +00:00
Axel Dörfler a350a0f58e A stripped down to the bare minimum app_server, so that we no longer need
to compile our libbe.so with RUN_WIHTOUT_APP_SERVER for the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 15:09:02 +00:00
Axel Dörfler 8e6163ac4d Now uses the B_SAFEMODE_SAFE_MODE definition instead of the string directly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:11:17 +00:00
Axel Dörfler 08a1527611 Added a "Safe mode" checkbox to the safe mode menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:04:36 +00:00
Axel Dörfler 5454291680 Implemented a simple boot menu to play with (this can be taken over by
other boot menu implementations for a start).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:03:44 +00:00
Axel Dörfler 9f90fa0e3a Introduced new B_KERNEL_AREA_FLAGS and B_USER_AREA_FLAGS that can be used
instead B_KERNEL_PROTECTION and B_USER_PROTECTION.
Unlike before, B_USER_CLONEABLE_AREA is now only in B_KERNEL_AREA_FLAGS,
but no longer in B_KERNEL_PROTECTION. This fixes a couple of problems
when B_USER_CLONEABLE_AREA was defined without specifing read/write
access.
PAGE_PRESENT|MODIFIED|ACCESSED are in the same "namespace" as the
protection flags, and therefore, shouldn't overlap.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 06:34:17 +00:00
Axel Dörfler 9602a1c9d6 Also the page tables mapped my the boot loader must be accessible
to userland, as these tables might persist until the end.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 06:29:27 +00:00
Axel Dörfler 97d05e6652 Even if it's probably outdated soon: fixed a crashing but in Shutdown() if
no card could be found.
Note, the replacement does not suffer from this anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 00:17:12 +00:00
Axel Dörfler 4c7103986e Now also compiles when debug output is turned on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 00:08:32 +00:00
Axel Dörfler d19337ad86 The previous change overwrote the $defines variable, although both defines should
be there at the same time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 20:37:30 +00:00
Axel Dörfler 74bc93bf37 DISPLAYDRIVER can now be overridden by a previous definition.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:57:50 +00:00
Axel Dörfler 490704cb78 Forgot to add libappserver.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:46:14 +00:00
Axel Dörfler 86e150e821 app_server.rsrc is no longer used (we already have the .rdef file).
Fixed the application signature in the .rdef file.
Removed some "how to write an .rdef file" comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:38:17 +00:00
Axel Dörfler 82aa535b3f Updated app_server Jamfile to be able to build a server that runs under Haiku
if $TARGET_PLATFORM requires this.
Note, "jam app_server" for R5 did not work for me before and does not work now
although the number of errors are reduced - whoever knows the requirements for
the app_server under R5 better than me, please fix this.
Added the app_server as well as some more drivers to the Haiku HD image. Since
RUN_WITHOUT_APP_SERVER is still defined, it won't work correctly, though.
For the time being, you need to manually alter this and the Bootscript in order
to run it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:21:55 +00:00
Axel Dörfler 0f89f0ae14 Fixed warnings, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 15:58:27 +00:00
Axel Dörfler b2b5acff33 Made DISPLAYDRIVER a true compile time option.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 15:39:08 +00:00
Axel Dörfler 7ffc4e7782 Enlarged buffer for _sPrintf() from 256 to 1024 bytes per call.
Minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 15:31:09 +00:00
Axel Dörfler f235790dbe Prepared to include the app_server:
- all libraries needed for the app_server are now on the image
- the fonts will be installed (currently requires to have built the app_server before)
- includes MiniTerminal
- includes the radeon driver and accelerant (others will follow)
- creates beos/apps and beos/prefs directories


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 15:25:18 +00:00
Axel Dörfler 54c5b264e3 No longer use private syscall, but the Debug.h function directly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 15:15:12 +00:00
Axel Dörfler 78924f7e7b Now sets the process group of the terminal, so that signals are delivered (you can now Ctrl-C apps, at least in theory :)).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 14:05:34 +00:00
Axel Dörfler 6e3baa44ff Fixed a bug in send_signal_etc(): when using the group-wide form (negative
process ID), it also searched for a group with a negative ID.
Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 22:00:36 +00:00
Axel Dörfler 29b183b12c select() doesn't care about obvious user errors: if it's called without
any chance to come back (without being signaled), it now will.
For example, this is used by the sleep command (which now actually works
as it should :)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 21:45:56 +00:00
Axel Dörfler 61ad5bc2e7 Fixed various problems with the latest stdbool.h changes, including stdbool.h itself:
- SupportDefs.h only includes stdbool.h if included from C
- stdbool.h for C++ now includes a macro for "bool" as defined by that header
- stdbool.h does nothing if __bool_true_false_are_defined is already defined
- stdbool.h no longer defines a _Bool enum, but defines _Bool as unsigned char, as
  previously done by SupportDefs.h (the previous version changed the size).
- The gensyscalls Jamfile now preprocesses its headers in C++ mode so that "bool"
  stays "bool", and doesn't become _Bool.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 18:01:40 +00:00
Axel Dörfler 534c1cf281 As Ingo pointed out, the breakpoint exception cannot be caused "naturally",
so it's not an interrupt gate but a standard call gate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 15:36:41 +00:00
Axel Dörfler db32c595a2 Fixed compilation due to the stdbool.h update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 15:33:54 +00:00
Axel Dörfler e5fd0bde4a tcsetpgrp() and tcgetpgrp() are actually defined in unistd.h, not termios.h.
Implemented them and moved them to unistd/terminal.c - not yet tested, though,
but should work. As a side effect, the TTY should now send signals.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 14:41:30 +00:00
Axel Dörfler 99dbd8b489 Added set_user_intr_gate() and made "int 3" accessible to userland (the breakpoint exception).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:40:27 +00:00
Axel Dörfler 99a4d67e7b setpgid(0, 0) should just return the process ID if the process is already a group leader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:38:27 +00:00