Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 6efb3f085f Added statvfs.h header and implemented statvfs() and fstatvfs() - both untested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 13:47:55 +00:00
Axel Dörfler 7a0b14b7ab Removed support for setting the app_server's cache configuration.
We doesn't support that API anyway, and I really don't think this belongs there - the
app_server should handle this by itself alone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 13:26:34 +00:00
Axel Dörfler c76154732b Removed superfluous strcode() and bstrcode() from the code - it wasn't maintained
for ages, and not really that useful, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 11:09:12 +00:00
Axel Dörfler 42b5ae7db9 BFont::_GetExtraFlags() no longer returns a status value, but fills in default
values in case the server communication failed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 11:08:27 +00:00
Axel Dörfler b2cc345461 More font work:
* Simplified server communication a bit: instead of separate queries for font
  direction, "is fixed", ... there is now a private extra flags field that is
  filled on demand.
* The server command names now describe what the command does, and are not simply
  named after the BFont method (AS_SET_FAMILY_AND_STYLE vs. AS_GET_FAMILY_AND_STYLE_IDS).
* Replaced B_SET_SYSFONT_{PLAIN|BOLD|FIXED} with a single B_GET_SYSTEM_FONTS.
* Rewrote Font.h and added our license.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 11:02:39 +00:00
Axel Dörfler c713cfe2bb Fixed __strerror_r() - this closes bug #66.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-06 23:36:59 +00:00
Axel Dörfler 86ad4b9c5e First steps into on-demand font scanning. When you've installed lots of fonts, this
will speed up launching the app_server considerably (once it's done).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-06 18:58:09 +00:00
Axel Dörfler c5eb28a359 Now uses the new image_debug_lookup_user_symbol_address() call.
The stack frame that got interrupted were missing from the stack output
(and thus the call that got us into the kernel).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 17:28:08 +00:00
Axel Dörfler 4d18991268 Added a image_debug_lookup_user_symbol_address() that one day may find symbol names
in user images - right now, it only finds the image name and base address.
Fixed "images" debugger command - it actually acquired a mutex to dump the images...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 17:25:58 +00:00
Axel Dörfler 7b7c38a2a7 The "where" or "sc" command now switches the page directory to the specified thread
to be able to follow the stack trace into userland.
No symbols there, yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 15:58:04 +00:00
Axel Dörfler ec12c6fe6f Don't let ifdef's confuse the editor's function lookup.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 15:07:31 +00:00
Axel Dörfler 962b688433 Forgot to update Layer::Scale(), too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 13:27:41 +00:00
Axel Dörfler cb24f13bb0 The current graphics state of a Layer can now be retrieved by the new CurrentState() method.
ServerWindow is now using that method instead of directly accessing a Layer member.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 12:15:36 +00:00
Axel Dörfler 0595331e28 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 12:11:31 +00:00
Axel Dörfler 2c2fd7b237 Fixed scale calculation. The scaling is still ignored for the drawing coordinations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 12:01:44 +00:00
Axel Dörfler 1be1c7ccdf Fixed (again) the crash that happened when you quit the app_server in the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 11:57:43 +00:00
Axel Dörfler aca4f50d1e Merged DrawData and LayerData to one class DrawState.
Removed that ambiguous second copy constructor and moved push state functionality
into a separate PushState() method. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 11:37:28 +00:00
Axel Dörfler 5112e701f3 This should fix an annoying warning that newer GCCs seem to like.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 09:56:36 +00:00
Axel Dörfler 5abd5613d6 LayerData::prevState is now called fPreviousState and is now private. Added new method
PopState() to make this possible.
When a new layer is created, the font state of the desktop will now be set: this fixes
a bug I introduced when separating the font manager's default font and the desktop's
default font.
The scaling stuff looks pretty broken to me.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 09:52:56 +00:00
Axel Dörfler 7490bd32f1 Now also uses the fallback family when the usual default font couldn't be found.
This hides a problem with the view states that the next commit will fix :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 09:49:25 +00:00
Axel Dörfler e0d7d87fc4 Removed "dano" as compatible platform - the app_server test environment test run there.
Added a small test application for view states. Right now, it only tests scaling - which
doesn't seem to work yet at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 09:46:44 +00:00
Axel Dörfler 57a9b06645 Removed CDPlayer from the build until it has settled down a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 09:44:02 +00:00
Axel Dörfler 05bd1efe5b * the FontManager is now a looper (but doesn't do anything useful yet).
* moved the system default font functionality into the DesktopSettings class.
* ServerFont::SetStyle() is now a public method.
* Improved font fallback routines: they will never end up without a font if
  there is at least one font installed.
* fixed some minor bugs in the DecorManager.
* Decorator now get a DesktopSettings object passed - dunno if that's a good
  idea (since we'll have to open the DesktopSettings header), but it works
  for now (and something like this is probably needed anyway).
* a clean ServerFont is now set to the system default font - and not to the
  (user chosen) desktop default font anymore (since the font manager doesn't
  know about that one).
* Improved font directory scanning in the font manager a bit, it's now using
  find_directory() instead of hard-coded paths.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 17:03:36 +00:00
Axel Dörfler 74ca3b24c2 Removed unneeded libroot.so shared objects; everything is linked against libroot.so by default, anyway.
Allowed to build the apps under BeOS (where libroot.so could not be found, btw).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 13:46:19 +00:00
Axel Dörfler cb4b485de1 The shared source files are now only built once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 13:18:02 +00:00
Axel Dörfler 8365d9ecd2 * A ServerFont is now always valid, bye-bye ServerFont::InitCheck().
* The FontFamily is no longer reference counting itself.
* SharedObject is now more useful and destructs itself when unused.
* Fixed FontStyle::GetHeight()/ServerFont::GetHeight() semantics.
* Simplified ServerFont constructors.
* Removed wrong function descriptions.
* FontStyleHeight is no longer used: the FontStyle is calculating the
  base font height on construction - this reduces the resolution a bit,
  but it's hopefully not causing any troubles (doesn't look like it,
  at least).
* A FontStyle now removes itself from its family on destruction.
* More cleanup, removed unused stuff like FontStyleHeight.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 13:10:28 +00:00
Axel Dörfler c9ff9a39d0 ServerFont::StringWidth() did not set the size of the face, and could therefore
return wrong results. Activated it again to work-around the possible font deadlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 00:04:18 +00:00
Axel Dörfler 683cbefe9e Removed accidently set execute property.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 22:59:01 +00:00
Axel Dörfler f1d3628119 Apparently, ServerFont::StringWidth() doesn't work for fixed width fonts...
Will look into this later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:55:51 +00:00
Axel Dörfler cf550035dd This works around a deadlock that frequently happened when working with menus (font stuff).
I should start investigate this one more deeply some time...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:37:17 +00:00
Axel Dörfler f23f61c8e3 Fixed the "run_haiku_registrar" tool to be used with the new build system.
It doesn't build though, as SimpleTest doesn't seem to work anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:25:58 +00:00
Axel Dörfler 4e141bc8a0 Renamed FontServer to FontManager - this fixes the build of the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:12:23 +00:00
Axel Dörfler bdd34c028f Renamed the FontServer class to FontManager.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 13:25:39 +00:00
Axel Dörfler 1156138b2f Removed unused files like PortMessage.cpp/h and Session.cpp/h.
Renamed LinkMsgReceiver.h and LinkMsgSender.h to LinkReceiver.h and LinkSender.h like
the classes they contain.
Split up PortLink.cpp/h into ServerLink.cpp/h and PortLink.cpp/h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 12:55:20 +00:00
Axel Dörfler 06be24a748 The spurious debug exception sometimes comes very often in QEMU - it's now only
printed when tracing is turned on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 12:41:44 +00:00
Axel Dörfler 52d97df59c The FontStyle now gives its locker a name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 10:51:46 +00:00
Axel Dörfler 2e8eec5722 Now also prints the parent's team ID as part of the team info.
No longer uses dprintf() in the kernel debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 10:43:30 +00:00
Axel Dörfler 05a7818c85 Removed the "list all team" functionality from the debugger command "team", and
moved it into the new command "teams". Now also lists the parent team.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 10:38:28 +00:00
Axel Dörfler dcdebb933e The debugger command "threads" now accepts an argument that let's you filter the
threads listed by team ID. Also, the thread's team is now printed in the list as
well.
Minor cleanup (renamed "t" to "thread" where appropriate).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 10:24:37 +00:00
Axel Dörfler 5d1bd031a2 Fixed some communication mismatches I introduced earlier: we are no longer sending
whole font_family/style strings (each 64 bytes), but only strings, because they
are usually shorter than 64 bytes.
This should fix the StyleEdit problems Stefano were seeing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 09:50:51 +00:00
Axel Dörfler 3eba9bd8b3 Renamed the global "ftlib" to gFreeTypeLibrary.
Removed the FTC_Manager for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 08:55:51 +00:00
Axel Dörfler fb2d4d51a7 Removed unused variable (copy&paste remains...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 08:54:56 +00:00
Axel Dörfler 6f121769ad * Added and implemented AS_GET_FONT_FILE_FORMAT - currently, it returns always
B_TRUETYPE_WINDOWS, though.
* possibly returned an uninitialized error code in some BFont methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 18:21:04 +00:00
Axel Dörfler 0752edcf8d The default video mode now prefers to be 800x600x16 - if available.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 18:03:35 +00:00
Axel Dörfler b4f34cfb95 * style and family IDs are no longer just the index in their parent's lists (as
they can disappear and IDs should stay persistent at least as long as the
  system runs).
* destroying a FontStyle discards its FT_Face again.
* the font style and family names are now truncated to the appropriate length,
  so that they can always be used via the Be API.
* (char *) == (char *) hardly compares the string (but was probably introduced
  by me when I stopped FontFamily from accessing FontStyle privates
* removed FontServer::SaveList() - made no particular sense to me.
* removed superfluous "inline" keyword in the FontStyle definition.
* more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 17:49:01 +00:00
Axel Dörfler b8cde4497e More font work:
* simplified BFont::SetFamily*() server communication - there is now only
  AS_SET_FAMILY_AND_STYLE left, but at least that one works correctly.
* BFont::fFace is now always updated correctly.
* Moved the fFace masking to the server - BFont doesn't know enough to do
  this correctly, anyway.
* Only one version of get_font_style() worked correctly.
* Font family/style ID and index were used completely mixed up - this
  would have become an issue as soon as the font list changes during
  runtime.
* Enabled AS_GET_FONT_DIRECTION again - missing functionality should only
  be taken into account on lowest level as long as it can be emulated.
* Made FontServer a bit clearer to use (more to come).
* fixed several allocation leaks in the font server communication.
* New FontStyle::Direction() method, that currently only returns
  B_FONT_LEFT_TO_RIGHT, though.
* more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 16:28:01 +00:00
Axel Dörfler 5234dfe1df Added the alternate ReadString() method to ServerLink as well.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 15:43:38 +00:00
Axel Dörfler 297cd250fa Followed Marcus' suggestion and made fHeight mutable - not nice, but cleaner
than casting away the const.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 13:19:00 +00:00
Axel Dörfler ec769ec5b2 Implemented caching of the font_height, as suggested by Stefano - seems to work fine.
Also added some TODO items (mostly to SetFace()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 12:03:43 +00:00
Axel Dörfler e70c238dd9 The fs_shell is dumb and doesn't know any B_* constants :-)
Thanks to Ingo for the note.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 23:47:54 +00:00
Axel Dörfler 11516cee1e The stored (and default) font settings are now tested against the fonts installed
in the system; if a font chosen could not be found, a fallback font (be_fixed_font)
is used.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 23:24:17 +00:00
Axel Dörfler 9b1ad6f45e Fixed a bunch of bugs in the font sub-system:
* BFont::Face() was almost always wrong - also on the server side,
  _TranslateStyleToFace() was broken.
* a clean font was not correctly initialized to be_plain_font
* BFont::GetFamilyAndStyle() did not work correctly if either family
  or style was NULL - which is allowed, and shouldn't have let it abort
  its task.
* FontServer::GetStyle() by ID did not work reliably under certain
  circumstances (but those were not reached with the current server)
* BFont::SetFamilyAndStyle() did not work when family was NULL, and
  it also never set fFace correctly.
* Introduced a FontFamily::GetStyleWithFace()
* Renamed some FontFamily/FontStyle methods from ie. GetID() to ID()
  to match the style used everywhere else in BeOS.
* Removed AS_SET_FAMILY_NAME as its no longer in use.
* Lots of cleanup and simplification.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 23:21:36 +00:00
Axel Dörfler 0083a1f3f5 Added an alternate ReadString() in case you know how large the string can get.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 20:04:59 +00:00
Axel Dörfler 4f86bb69c5 BRoster::ActivateApp() now talks to the Desktop, not the app_server anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 19:36:19 +00:00
Axel Dörfler 36deda69ba Got rid of sDesktop.
Moved AS_ACTIVATE_APP over to Desktop. _CursorThread() is currently dysfunctional (but not enabled anyway).
Minor cleanup (Desktop::WindowList() is now a BObjectList).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 19:35:46 +00:00
Axel Dörfler 9ecef546db The "keymap" command can now be compiled on Zeta as well - for some stupid reason
it introduces a find_directory_r() instead of making the original call thread-safe.
Maybe we should only support this operation on Haiku, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:49:28 +00:00
Axel Dörfler 9b0c212a16 Fixed warning, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:27:28 +00:00
Axel Dörfler 0e1358bd5c Applied a patch from Alexander Deynichenko: added missing signal definitions.
That also includes some XSI signals, SIGPOLL and SIGVTALRM, dunno if we will every support
those in a useful way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 12:39:29 +00:00
Axel Dörfler 4d9b4412bd Added memccpy() - not there in BeOS, but part of the POSIX specs.
Contributed by Alexander Deynichenko.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 12:18:55 +00:00
Axel Dörfler 1893013260 Volume::Initialize() needs a valid nspace object in the kernel - this fixes the
"*** remove ..." error messages when initializing a BFS image via the bfs_shell.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 12:03:27 +00:00
Axel Dörfler 959a5a68bc Removed global gDesktop variable - there is now an sDesktop variable in AppServer.cpp, but
that will go away, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 11:05:52 +00:00
Axel Dörfler 3ab795e374 This fixes the build on Haiku. <va_list.h> is not part of POSIX, <stdarg.h> is - and
since this is *our* header...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 10:14:47 +00:00
Axel Dörfler cc38261bf4 Removed "arch" directory, and "makeflop" & "bootmaker" - they are all no longer in use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 00:03:41 +00:00
Axel Dörfler ce357f41f9 Removed "bootfs" and the support for it in other components.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 23:00:14 +00:00
Axel Dörfler bd65facedb Fixed build of "rc" under Dano and probably Zeta.
If someone (Ingo) has a better solution, please yell :-)

The error output was strange:

C++ generated/objects/r5/x86/release/tools/rc/parser.o
In file included from /boot/home/develop/haiku/haiku/src/tools/rc/parser.y:26:
/boot/develop/headers/be/app/Message.h:38: parse error before `>'
/boot/develop/headers/be/app/Message.h:39: parse error before `>'
/boot/develop/headers/be/app/Message.h:54: template with C linkage
/boot/develop/headers/be/app/Message.h:54: confused by earlier errors, bailing out

gcc -c "generated/objects/haiku/x86/common/tools/rc/parser.cpp" -O2 -Wall -Wmissing-prototypes -Wno-ctor-dtor-privacy -Woverloaded-virtual -Wpointer-arith -Wcast-align -Wsign-compare -Wno-multichar -Wno-sign-compare -Wno-unused -include src/tools/rc/R5Compatibility.h -D_ZETA_USING_DEPRECATED_API_=1 -DARCH_x86 -D_NO_INLINE_ASM -DCOMPILE_FOR_R5 -Isrc/tools/rc -Igenerated/objects/common/tools/rc -Igenerated/objects/r5/x86/common/tools/rc -Igenerated/objects/haiku/x86/common/tools/rc -I- -o "generated/objects/r5/x86/release/tools/rc/parser.o" ;

...failed C++ generated/objects/r5/x86/release/tools/rc/parser.o ...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 21:03:11 +00:00
Axel Dörfler 12119222aa struct entry_ref was used without defining it.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 20:30:58 +00:00
Axel Dörfler 9235adf794 The cpuid "extended features" in function 1/%ecx aren't Intel only anymore - my
AMD docs were not up to date. Thanks to Herve for the note.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 18:26:41 +00:00
Axel Dörfler 5030d60fe8 Connected the painter stuff to the temporary font lock work-around.
This seem to enhance the stability of the app_server by a magnitude (at least I can
now run apps like Installer and Media without an instant crash).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-28 09:52:26 +00:00
Axel Dörfler c2a52d2836 Added a temporary work-around to lift the FreeType problem we're seeing a bit:
Turns out we are using a single FT_Face object for a given font size throughout the
app_server - but the FT_Face object is not designed for a multi-threaded access, AFAICT.
For example, it only has a single glyph slot, that we were using from different threads.
This fix does not cover the renderer, however, which also uses that shared object; IOW
even though it will crash less often it will still crash because of this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-27 16:33:35 +00:00
Axel Dörfler 90ce9e8305 Added calls to read and write the MSR, the machine state register.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-26 23:39:38 +00:00
Axel Dörfler 8fcd6b8e61 * renamed smp_boot.c to smp.cpp
* there is now a "Disable Hyper-Threading" safemode in the boot loader
* the SMP & HT menu items are now added in smp.cpp - and are only added
  if the system supports one of them.
* more cleanup to smp_apic.h
* removed cpuid() from the boot loader's support.S - instead, it will now
  use the one from the kernel.
* added a very weak HT detection: if the MP config only listed one CPU,
  and this CPU supports HT, we enable the other logic processor manually -
  as this currently doesn't work, it's disabled, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-26 22:57:13 +00:00
Axel Dörfler 1c016e0e3f Cleaned up OS.h a bit more.
Return type of thread_func is now status_t instead of the previous int32.
Added some more cpuid_info fields - many fields aren't just reserved anymore.
"sysinfo" now supports the extended features of Intel CPUs, and also knows
the "HTT" bit of the standard features indicating the hyper-threading capability.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-26 22:46:30 +00:00
Axel Dörfler 9f2dae6a17 For now, always enable serial debug output in the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-26 22:31:27 +00:00
Axel Dörfler 3207006695 send_signal_etc() is now safe to be used on an SMP machine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-25 20:18:29 +00:00
Axel Dörfler ef7bac18bb Implemented call_all_cpus(), and get_cpuid() properly (tested only the latter, though).
The "data_ptr" parameter is now only freed if you specify SMP_MSG_FLAG_FREE_ARG
when sending the ICI message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-25 18:18:11 +00:00
Axel Dörfler 6cd505cee7 Changed the boot procedure a bit.
Extracted scheduler_init() from start_scheduler() (which is now called scheduler_start()).
Moved scheduler related function prototypes from thread.h to the new scheduler.h.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-25 16:59:12 +00:00
Axel Dörfler 888248d42e The kernel now panics if it didn't found any possible boot partitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 22:12:41 +00:00
Axel Dörfler fde12d6407 Some cleanup: renamed the mp_ext_* structures to mp_base_* as they are
part of the base table, not the extended table.
Renamed some structure fields, variables to be clearer and nicer to read.
Removed some unused stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 21:37:40 +00:00
Axel Dörfler 0c67510ae1 Enabled SMP detection again - since it's very likely that it doesn't work on
your system, I've also added a "Disable SMP" safemode option. The NO_SMP
define is still there, and will be removed once SMP works flawlessly.
Prints out infos about the interrupt entries in the MP config.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 19:43:50 +00:00
Axel Dörfler 7a09488d8e Could overwrite the memory that the SMP code is using for the trampoline
code/stack with page tables.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 19:29:59 +00:00
Axel Dörfler 391f996261 NULL MenuItem::Data() entries are now filtered out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 19:28:03 +00:00
Axel Dörfler bf0f315cc3 Added Waldemar to the developer list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 15:30:48 +00:00
Axel Dörfler 411b881b0d enable_keyboard() should now work a little better.
Disabled keyboard tests for now - we will just assume there is a keyboard.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 10:23:30 +00:00
Axel Dörfler 75fc86b667 Added Jonas to the list of contributors - sorry that we missed you earlier!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 10:21:24 +00:00
Axel Dörfler 3d5ecf962c Minor cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-22 16:53:49 +00:00
Axel Dörfler 9386f2e6a1 Missed a warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-21 14:04:17 +00:00
Axel Dörfler 8210eff8e8 Didn't compile with debug output turned on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-21 14:02:17 +00:00
Axel Dörfler a4c373515e When a team died, only the time of its children were added to its parent
dead children time counters - not its own time.
Moved time calculation to team_remove_team().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-21 00:15:17 +00:00
Axel Dörfler f3bb653937 Simplified sigsuspend() a bit.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 18:38:30 +00:00
Axel Dörfler 7d9e0897ed Implemented sigsuspend() - not tested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 18:09:50 +00:00
Axel Dörfler e4d36dd1f4 Implemented sigpending().
Forgot to atomically get some thread_debug_info values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 17:19:46 +00:00
Axel Dörfler 50374cbdca Changed the signal handling code so that handle_signals() can be called without
having the thread lock held and interrupts disabled.
Cleaned up the signal handling code, and fixed some minor bugs with blockable
vs. non-blockable signals.
thread_debug_info was using uint64 for signals sets instead of sigset_t.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 16:56:04 +00:00
Axel Dörfler 7121425eb5 Turns out we could remove a mount point...
Under BeOS remove_vnode() is failing in this case, which looks like a good idea to imitate.
Also, pipefs/rootfs didn't handle that case - they even removed the entry before calling
remove_vnode() - they now behave correctly. And also BFS now returns the actual error code
received from remove_vnode() instead of B_ERROR.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 16:34:18 +00:00
Axel Dörfler 4daad1792e You shall compile before you commit - I must have forgotten to save the file
on the previous try (I definitely built mountvolume & mount after the changes).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 13:21:10 +00:00
Axel Dörfler da6d1a7022 fs_mount_volume() now returns a dev_t as well - changed mount/mountvolume to take
that into account as well (they were reporting an error even though everything
went fine).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 13:03:50 +00:00
Axel Dörfler 9ebc6e3c2d Added a comment on what kind of functionality we need from the caching layer one day.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 09:29:40 +00:00
Axel Dörfler 1c88c851ad Turned off debug output again - also temporarily removed the file cache warning
about our block_io module not honouring the total length in read_pages().
Removed drops into the debugger when there is a block without an "original"
data buffer - that's completely normal and happens when someone asks for
a cleared block that is not yet in the cache.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-19 23:01:57 +00:00
Axel Dörfler d7f0a6f215 If register_preloaded_module_image() fails, a warning is printed.
get_next_loaded_module_name() no longer prints anything if tracing is enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-19 22:45:13 +00:00
Axel Dörfler 8c20600d12 Looks like some BIOS don't bother filling in cylinder/head/sectors_per_track information
for extended drive parameters.
This should fix eventual "no boot disk" messages of the boot loader.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-19 22:43:50 +00:00
Axel Dörfler cb6d675cf4 Aborting transactions doesn't change the number of unwritten transactions - that
counter does not take the current transaction into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-19 22:26:49 +00:00