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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- 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
- 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
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
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
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
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
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
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
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
- 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
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
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
- 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
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
instead of hoardGetThreadID()).
Removed unused arch functions.
__init_heap() now calls hoardHeap::initNumProcs(); it's no longer initialized
through a global constructor - that ensures that the heap can really be used
by libroot's constructors (although it did work before as well, somehow).
Moved the heap to 0x30000000 for now (limiting its size, but also ensuring free space
after it) - until the VM can avoid the free space after the heap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11959 a95241bf-73f2-0310-859d-f6bbb57e9c96
The new heap backend will probably be taken from the boot loader's heap
implementation (the free chunk stuff).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11958 a95241bf-73f2-0310-859d-f6bbb57e9c96
that we no longer need an initialize_after().
Put the architecture dependent hoard functions into the BPrivate namespace
as well. Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11956 a95241bf-73f2-0310-859d-f6bbb57e9c96
(and added support for that function in the emulated kernel).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11951 a95241bf-73f2-0310-859d-f6bbb57e9c96
properties; it should pass on to the next handler (and only if there is none
reply with a B_MESSAGE_NOT_UNDERSTOOD).
Those B_MESSAGE_NOT_UNDERSTOOD are no longer the answer to a B_MESSAGE_NOT_UNDERSTOOD
message anymore, as this lead to an endless loop (for example when starting the
media_server).
Added some ToDo comments - someone please check what has to be done and fill it
out some more.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11950 a95241bf-73f2-0310-859d-f6bbb57e9c96
-S will dump over the serial line (kernel debug output).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11948 a95241bf-73f2-0310-859d-f6bbb57e9c96
Renamed RLD_STARTUP() runtime_loader() - the new entry point of the loader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11943 a95241bf-73f2-0310-859d-f6bbb57e9c96
from kernel/Jamfile. Actually kernel/apps is still there as Subversion
doesn't let me commit it -- I'll remove that later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11940 a95241bf-73f2-0310-859d-f6bbb57e9c96
Moved the rld.so creation from kernel/Jamfile to kernel/runtime_loader/Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11936 a95241bf-73f2-0310-859d-f6bbb57e9c96
The default option of "m" is now honored.
Prints out <BEEP> to the debug output instead of printing it on-screen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11934 a95241bf-73f2-0310-859d-f6bbb57e9c96
now uses this one instead of using map() for every single page - this should
be faster in most cases, and also, more importantly, does not mess up the
map_count counter anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11916 a95241bf-73f2-0310-859d-f6bbb57e9c96
to work when jam was executed in the local directory (as I did for testing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11914 a95241bf-73f2-0310-859d-f6bbb57e9c96
removed unused headers. Adapted sources to still compile with the new
header locations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11913 a95241bf-73f2-0310-859d-f6bbb57e9c96
so that mails I get from Mr. Wilber are shown correctly, too :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11906 a95241bf-73f2-0310-859d-f6bbb57e9c96