Commit Graph

11995 Commits

Author SHA1 Message Date
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
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
Stephan Aßmus
8940f93c1d AccelerantHWInterface now uses a MallocBuffer as RenderingBuffer for the back buffer instead of a BitmapBuffer, which under Haiku does not work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 10:36:23 +00:00
Michael Lotz
7d5778defa Added support for GetEscapements() too. Still unfinished. Maybe this should be moved elsewhere?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 09:18:25 +00:00
Michael Lotz
c2da902f2e Implemented BPortLink::AttachShape and BPortLink::ReadShape and used them for passing the shapes in AS_GET_GLYPH_SHAPES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:29:04 +00:00
Michael Lotz
ebf8af66c9 Added support for BFont::GetGlyphShapes. Not finished yet and untested, delivery method as to be changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:00:32 +00:00
Michael Lotz
3661cae99c Aren't these supposed to be chars?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 04:03:11 +00:00
Michael Lotz
69353f3c4c Added ColorControl.cpp to the build. Also enabled PrintJob.cpp again, it doesn't break anything, why was it disabled? Sample applications can now be compiled unmodified using libopenbeos.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 03:33:43 +00:00
Michael Lotz
20337f3165 Corrected reply handling of FlushWithReply in many places what should fix some strange bugs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 03:02:15 +00:00
Michael Lotz
54f7283aa0 Appearantly StrokeLineArray is used in BButton rendering.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 02:06:07 +00:00
Ingo Weinhold
c6ba97963c We didn't Unlock(), if setting the display mode failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:11:38 +00:00
Ingo Weinhold
3aae5bd9a5 Added floorf() and ceilf() (from FreeBSD, style-adjusted). Needed by the Painter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:10:42 +00:00
Ingo Weinhold
07f6a74c53 There is no <math_ldbl.h> at the moment, so we shouldn't include it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:09:43 +00:00
Ingo Weinhold
73d3cc98f6 Be a bit more robust, when encountering partition descriptors that
describe partitions that are out of bounds. We simply ignore those now,
instead of letting the complete scanning fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:07:30 +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
Adi Oanca
c737183da9 Updated test app as app_server clears the BViews' background color now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:51:07 +00:00
Adi Oanca
a2bc7be9ed This fixes up the last known remaining issues with the update code. It works perfectly now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:48:51 +00:00
Adi Oanca
9f7e77bd63 Forgot a warning message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:39:18 +00:00
Adi Oanca
52bd978684 Send only one AS_BEGIN/END_UPDATE message, not for every view
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:36:34 +00:00
Jérôme Duval
a39f4c6365 updated version info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 15:43:58 +00:00
Stefano Ceccherini
370ca4b97c Corrected forward declaration
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 15:21:34 +00:00
Jérôme Duval
fcb997860b Updated to coreutils-5.3.0, still including previous patches
Removed m4, po directories
UTF8 filenames don't seem to be displayed well with ls in Terminal


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 15:19:03 +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
Ingo Weinhold
79757df990 Adapted according to the semantics change for the identify()/scan()/free_identify_cookie() disk system hooks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:29:58 +00:00
Ingo Weinhold
0a0a999076 We now also find a boot partition, if nested inside another partition. Booting from logical partitions should now work properly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:28:33 +00:00
Ingo Weinhold
a7c536d8ba * Now we set partition_data::content_type correctly. The intel
partitioning system module relies on it, otherwise extended
  partitions won't be recognized.
* Be a little less lazy and do the priority partition recognition,
  i.e. all partitioning systems are asked to identify a partition and
  the one that believes it can handle the partition best, wins the pot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:26:27 +00:00
Ingo Weinhold
d832aa7efc We must just the same naming as in DiskDeviceTypes.cpp for the intel partition types, since the implementation relies on it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:22:02 +00:00
Ingo Weinhold
f2162522b0 * More debug output.
* We apparently cannot use constants like kPartitionTypeIntelExtended
  in static array initializers in the kernel.
* Fixed misunderstanding between Axel (boot loader) and me (Intel
  partitioning system module) how to deal with the cookie the
  identify() hook returns. We switch to a someone cleaner method by
  always invoking free_identify_cookie() for it, even if it were passed
  to scan(). Since we want to keep the cookie, we add a reference
  counter to it.
This should fix a couple of issues with recognizing the boot partition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:20:31 +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
Ingo Weinhold
d7037cbd2c Now, we support a value of 0 for the RUN_WITHOUT_APP_SERVER variable in the libbe Jamfile. In makehdimage we don't override the variable's value, if it is already set anymore. This conveniently allows to set it to 0 in a wrapper script that invokes makehdimage -- no need to change makehdimage itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:09:51 +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