threadID parameter to spawn_kernel_thread_etc(). It's now possible to
set the ID of a new thread. Used in team.c to make team ID and the ID of
the main thread equal.
Fascinatingly the two added functions prompt my compiler to issue
`missing prototype' warnings, although those are obviously there. It would
be nice if someone could solve that riddle.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11621 a95241bf-73f2-0310-859d-f6bbb57e9c96
be used by our R5 mkbfs replacement for now, until someone replaced that
boot loader code :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11616 a95241bf-73f2-0310-859d-f6bbb57e9c96
1. StuffValues returned B_BAD_INDEX for legal values. Fixed.
2. SetAllValue was needed. Implemented.
3. The constructor used memset() to initialize an array of int32 to 100. YUCK! That's a novice mistake (and that's my fault, obviously). Fixed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11610 a95241bf-73f2-0310-859d-f6bbb57e9c96
the platform independent code out of fs_shell_command_beos.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11600 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make return value of implementations of Directory::GetNextEntry()
match the base class version.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11599 a95241bf-73f2-0310-859d-f6bbb57e9c96
they return the respective error codes.
* Fixed the open mode conversion function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11597 a95241bf-73f2-0310-859d-f6bbb57e9c96
switch to Axel's hack to just redefine the critical functions via macro
definition in the Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11589 a95241bf-73f2-0310-859d-f6bbb57e9c96
ones.
* Added listattr command.
* Added cd command. It can change the CWD of the emulated as well as of
the host OS (prefix `:').
* Changed do_dir() to print symlinks with their target.
* Rewrote the rm command. It now support the options -r and -f
and multiple files.
* Rewrote the symlink command (and renamed it to link, alias ln). It now
supports creating hardlinks and understands the options -s and -f.
* Added command xcp, with support for options -r, -f, -d, and pretty
close approximation of the shell command cp, save for the fact, that it
copies attributes and can freely copy in the emulated and host OS
(and between them, of course; prefix `:').
Now it should be possible to change makehdimage to use a scripted
bfs_shell instead of UserlandFS to build a HD image.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11587 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added sys_stat_attr().
* Added sys_open_attr_dir(). Extended the directory functions to be able
to deal with attribute directories.
* Init the current directory, so we can use it (the support is there
already).
* Use our open modes instead of the platform ones.
* Added O_NOTRAVERSE support to sys_open().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11586 a95241bf-73f2-0310-859d-f6bbb57e9c96
non-POSIX functions that we have disabled from the build. Not sure if
we really want to change that (ie making those functions public).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11579 a95241bf-73f2-0310-859d-f6bbb57e9c96
it compile (some recent change in the Jumrules must have revealed these
build errors).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11576 a95241bf-73f2-0310-859d-f6bbb57e9c96
the bfs_shell related files:
* Fixed a couple of `friend without struct/class' errors gcc 3
complains about.
* Several adjustments do make the FS add-on build in a BeOS-like
environment. E.g. the fs_shell header "myfs.h" is not longer included.
For "cache.h" and "proto.h" the local copies are included.
* additional_commands.c must is part of the fs_shell and must be build in
the same environment as the fs_shell. The fs_shell definitions must be
used for system dependencies.
* The FS add-on has a platform dependency, since it opens and fstat()s
the underlying device. open() is harmless, but we must wrap fstat().
* We don't longer compile in kernel_cpp.cpp, but rather use the
platform C++ support directly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11569 a95241bf-73f2-0310-859d-f6bbb57e9c96
Linux:
* Corrected use of error code. We consequently use the errors we
defined to be compatible with BeOS and translate error code to and from
the build platform where necessary.
* Consequently use the structs my_stat and my_dirent and the type
fs_off_t when dealing with the guest FS. my_dirent had to be adjusted
to be BeOS compatible.
We wrap the platform fstat() now to translate the struct stat to the
BeOS representation.
* Fixed a bug introduced with the last checkin: The fs_shell crashed after
executing a command.
* Fixed printf() format warnings under Linux.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11565 a95241bf-73f2-0310-859d-f6bbb57e9c96
a previous and unfinished transaction. It should now work correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11553 a95241bf-73f2-0310-859d-f6bbb57e9c96
use all Haiku headers save the POSIX and STL headers. Let's see how we
fare on Linux with this change...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11552 a95241bf-73f2-0310-859d-f6bbb57e9c96
hand. Fixed all compiler errors.
* Changed the mechanism for including additional commands. Now an array
is exported by the instance code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11550 a95241bf-73f2-0310-859d-f6bbb57e9c96
fs_shell. A Linux specific one will follow as soon as the fs_shell builds
under Linux.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11543 a95241bf-73f2-0310-859d-f6bbb57e9c96
This is the first step towards getting rid of the UserlandFS dependency
for building a HD image. Which is in turn the first step to being able to
build one under Linux.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11541 a95241bf-73f2-0310-859d-f6bbb57e9c96
transaction order which caused corrupted disks when a log was replayed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11539 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed warnings.
Made gArchiveNameField static (and therefore changed the prefix to 's').
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11528 a95241bf-73f2-0310-859d-f6bbb57e9c96
info.
* Implemented arch_set_cpu_state() (Axel, please check, what registers
the debugger should actually be allowed to modify).
* Fixed arch_get_cpu_state(). We now explicitly copy the registers
manually instead of using memcpy(). Added support for extended
registers (FPU,...).
* Completed break- and watchpoint support.
* Implemented handling of debug and breakpoint exceptions.
The x86 specific part of the userland debugging support should be complete
now. That is in theory the entire debugging interface is available on x86
machines now. It's almost completely untested yet, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11526 a95241bf-73f2-0310-859d-f6bbb57e9c96
needed to get the topmost user iframe. Added i386_get_user_iframe() for
exactly that purpose.
* Added reinitialization of user debugging for the new thread when
switching the context.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11523 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the parameter for restoring the FPU state const.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11522 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added event callbacks for break- and watchpoints and single stepping.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11520 a95241bf-73f2-0310-859d-f6bbb57e9c96
it also checks for binary version number in case you try to load anything else (who knows ...)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11517 a95241bf-73f2-0310-859d-f6bbb57e9c96
checks only the version number (should be 3 at the moment)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11516 a95241bf-73f2-0310-859d-f6bbb57e9c96
functions for setting break-/watchpoints (implemented).
Break-/watchpoints don't work yet, though. Missing is still the setting
of the debug control register DR7 somewhere in the interrupt code and
the handling of debug exceptions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11509 a95241bf-73f2-0310-859d-f6bbb57e9c96
* In team_delete_team() we no longer explicitly destroy the team debug
info. It is not necessary, since the terminating debug nub thread will
do that anyway. Moreover we access the debugger port in a safer manner
now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11504 a95241bf-73f2-0310-859d-f6bbb57e9c96
by the team lock, but by a lock in the structure. This is necessary
since we can't acquire the team lock while thread switching, for then the
thread lock is already held.
* Added support for single stepping and break-/watchpoints.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11503 a95241bf-73f2-0310-859d-f6bbb57e9c96
to trim the templatized interface improves the situation, but we're still
quite heavy (400 KB).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11496 a95241bf-73f2-0310-859d-f6bbb57e9c96
(Daniel Furrer).
* The strace interface for the generated file changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11495 a95241bf-73f2-0310-859d-f6bbb57e9c96
waiting for teams to crash to show our favorite alert.
Due to the missing app_server we don't show a alert yet. We just print
something to /dev/dprintf and kill the team. Unlike R5's debug server
ours will probably not provide any debugging functionality itself, but
rather employ gdb directly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11492 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Now a debugged thread and the debug nub thread are not longer blocking
on ports when they receive a SIGKILL[THR] (we couldn't kill a debugged
team before).
* Small fixes. More correct cleanup when the debug nub thread terminates.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11491 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added is_kill_signal_pending(). Can anyone tell me why the compiler
complains about a missing previous prototype for it? <ksignal.h> is
included, and when only preprocessing the file, the prototype is clearly
there. I'm clueless.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11488 a95241bf-73f2-0310-859d-f6bbb57e9c96
- If the thread's B_THREAD_DEBUG_STOP flag is set, it is now always
stopped before handling the signals. Unless a SIGKILL[THR] signal is
pending.
- Also notify the debugger, when a signal is ignored.
* The signal's sigaction structure is additionally passed to the debugger
now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11478 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Now we deal correctly with thread debug flags (child threads inherit
the parent ones, save for syscall tracing in which case it needs to
be specified explicitly).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11477 a95241bf-73f2-0310-859d-f6bbb57e9c96
In the first case this is probably too early, since the image is not
really loaded at that time by the loader. We should probably introduce
a syscall the loader can invoke for that purpose.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11475 a95241bf-73f2-0310-859d-f6bbb57e9c96
convenience.
* Added/implemented callbacks for almost all missing debug events (team,
thread, image creation/deletion, exceptions/faults, signals).
* The debugger can now specify how to deal with the event that stopped an
event (ignore or handle signals, exceptions/faults).
* Implemented B_DEBUGGED_THREAD_GET_WHY_STOPPED debugger message.
* The cpu_state is now passed to the debugger with
B_DEBUGGER_MESSAGE_THREAD_STOPPED notifications.
* Completed _user_debugger() implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11474 a95241bf-73f2-0310-859d-f6bbb57e9c96
I also fixed my power button, so I don't need to test acpi_button by shorting motherboard contacts with a screwdriver...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11465 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implemented ServerApp handler for BFont::CountTuned and added a standby handler for BFont::Direction
Tweaked the ServerWindow debug output
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11457 a95241bf-73f2-0310-859d-f6bbb57e9c96
It's confirmed BTW that GeForce PCIe/AGP 6600GT is working OK (tested on 3 cards), and also GeForce AGP 6800GT is OK (one card tested).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11454 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Implemented finding programs in the PATH.
* Added human readable error codes for status_t and ssize_t return values.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11448 a95241bf-73f2-0310-859d-f6bbb57e9c96
g my machine hard, probably due to it mucking with the PCI controller way after
boot. I'm going to try inserting it earlier in the boot process. Also added bett
er debugging tracers, and removed the kernel_debugger() trace calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11444 a95241bf-73f2-0310-859d-f6bbb57e9c96
DMA acceleration speed is up another 10% for rect and span commands.
commencing more testing now: code is complete (I hope).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11433 a95241bf-73f2-0310-859d-f6bbb57e9c96
(still one more speed update to do before testing and release :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11432 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note: code is now working the same as Thomas's ATI driver: he minimized calls in the same ways. (Curious how a benchmark contest would hold up now.. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11431 a95241bf-73f2-0310-859d-f6bbb57e9c96
-added a fixme comment in the kerneldriver: it seems we must try to map cardBIOSes to memory ourselves if possible after all (should be PCI config manager work I'd say): encountered two systems now that don't have that done (by BIOS I guess). A old PCI-only system (Pentium200), and a brand new PCIe system: Both PCI and PCIe cardBIOSes don't get mapped here which prevents us from using coldstarts on secondary cards :-/
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11400 a95241bf-73f2-0310-859d-f6bbb57e9c96
- DAC2 always detects a analog screen connected;
- it seems like there are at least two new registers we don't know about. One extra switch to place output on connectors, and one (extra) switch for pixelclock PLL to CRTC connections (one PLL drives both CRTC's in some cases, pre-programmed by the card BIOS determined on the screen configuration found at power-up.
- in a known register (TSTCTRL) b20 blocks/moves output on connectors (?).
All confirmed on NV43, GeForce PCIe 6600GT.
Driver status:
- one DVI monitor connected is OK;
- one analog screen connected on the DB15 connector is OK,
- two analog screens connected is OK and can be used for dualhead.
other combinations don't work well or at all. This is the status confirmed on
the NV43. Assuming same for other cards of NV40 architecture.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11399 a95241bf-73f2-0310-859d-f6bbb57e9c96
starting parameter (or better, we silently ignore it) that's used for
private DEC modes. Vim uses those for whatever reason.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11395 a95241bf-73f2-0310-859d-f6bbb57e9c96
POSIX demands: if you pass in a NULL pointer, a buffer will now be
allocated for you.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11388 a95241bf-73f2-0310-859d-f6bbb57e9c96
keyboard controller method, and only if that fails we fall back to what
we have before.
At least my SiS laptop now properly reboots, and doesn't just halt
anymore - doesn't seem to have a negative impact on other machines, but
please report any regressions :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11386 a95241bf-73f2-0310-859d-f6bbb57e9c96
was one mode change before - took me quite some time to figure this out; now
we just do a mode change to the standard text mode; this is probably a good
idea anyway to make sure we're running in the correct text mode for the boot
menu.
The error check for the VESA BIOS calls were not really correct, even if
they worked. The vbe_mode_info structure is now cleared before the mode
info is requested (as suggested in Ralf Brown's interrupt list).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11382 a95241bf-73f2-0310-859d-f6bbb57e9c96