Commit Graph

11933 Commits

Author SHA1 Message Date
Stefano Ceccherini
347f3fa357 More fixes towards better drawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-07 15:24:29 +00:00
Adi Oanca
81d71c74c8 Update requests are sent only after the last one has been received an processsed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 20:56:46 +00:00
Adi Oanca
2f6d87a6c5 Removed some commented code of mine as it's no longer needed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 20:54:00 +00:00
Adi Oanca
ddc9feb406 Added a member to know when an update request has been sent
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 20:52:58 +00:00
Adi Oanca
75efbbb3ed if region is not NULL but invalid, draw nothing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 20:51:38 +00:00
Niels Sascha Reedijk
41fe67f32c * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-15
Fix host controller initialisation issues 

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 19:47:44 +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
Adi Oanca
0cb3fdda93 Nothing special. Just some cleanup to the update code. There is still a problem with layers not being properly updated sometimes when you move windows arround. The same problem occurs a lot more often when resizing windows. I'm traking it... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 20:03:07 +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
Jérôme Duval
108953a630 fixed Jamfiles
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 18:46:44 +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
Nathan Whitehorn
813830c9f8 Implemented the global firmware mutex, and fixed our fake spinlock implementation to actually work. The last bit of functionality I'm trying to trying to get from the bus manager, before I move onto drivers, is ACPI poweroff. Which, at least on my SMP machine, is hanging my system in ways I didn't even think possible. I suspect this may have to do with non-S5 wakeup GPEs still being enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 16:36:23 +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
Jérôme Duval
25ac1b6259 Updated Wacom products
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 12:22:22 +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
Ingo Weinhold
1bd7e1b36c Fixed stupid mistake. RUN_WITHOUT_APP_SERVER is to be set when it is NOT yet set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 23:19:42 +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
Ingo Weinhold
b8a9276a89 Simplified the include paths by fine-tuning what is included.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 21:47:36 +00:00
Ingo Weinhold
f3eaafc2f5 Include the thread ID in the debug output of thread_atkernel_exit().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 21:44:57 +00:00
Ingo Weinhold
8e26b085e5 Fixed double fault handler. Personally I disclaim all responsiblity
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
2005-04-04 21:43:47 +00:00
Jérôme Duval
3a2b5bfc6d * don't rely on fchdir-stub.c anymore to provide fchdir as we support it
* #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
2005-04-04 19:33:37 +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
Stephan Aßmus
30f5afc8a9 I'm keeping the version which can be used as a BView replacement here. The API for the one used in app_server will change for it to be come more efficient.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 17:47:41 +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
Andrew Bachmann
6e061f37b4 document and support both -h and --help for help
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-03 00:53:23 +00:00
Andrew Bachmann
1c7379cd43 remove annoying warnings provoked by echo headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-02 23:56:22 +00:00
Andrew Bachmann
1f13471244 support -h in addition to --help for help
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-02 22:18:07 +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