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
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
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
"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
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
* we now put data in cbuf at the good offset
The mouse is now working ok in Haiku, tested with input_server.
The current implementation based on our cbuf isn't good, as we're erasing old data, if mouse input addon can't keep up with interrupts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12352 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
- 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
- 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
- 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
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
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
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
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
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
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
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
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
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
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
for these changes. I was mostly just staring in amazement at the screen
while Axel and Thomas were discussing IA32 internals. A particularly
fascinating moment was when Thomas produced the cause of a bug we had
been trying to track down for hours off the top of his head (of course
iret behaves specially when the NT bit is set :-). His slowness must be
excused though, since he hadn't slept for more then 30 hours. ;-)
The code doesn't wholeheartedly deal with multi-processor machines yet.
Axel will certainly do some cleanup...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12239 a95241bf-73f2-0310-859d-f6bbb57e9c96
* #undef DEBUG in plib/physmem.c to avoid debug code
* comment out #define mktime rpl_mktime, don't know why it wasn't detected
* now links mv, chown, chgrp, rm, chmod, du, mkdir, pwd against libroot.so for fchdir
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12238 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