Commit Graph
2088 Commits
Author SHA1 Message Date
Ingo Weinhold 327a7d825f The FD supplied to _user_open() was not passed to file_open().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 14:59:05 +00:00
Ingo Weinhold 791e6b3a75 BOCHS_DEBUG_HACK is always defined (to 0 or 1). Reported by Gert van Valkenhoef.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 14:19:35 +00:00
Ingo Weinhold 285449a68f Default arg in implementation. Reported by Gert van Valkenhoef.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 14:16:01 +00:00
Axel Dörfler 19b83dc2b3 Got rid of ERR_VM_NO_REGION_SLOT - we now return BeBook friendly error codes.
Added short description to find_reserved_area() as that name is not that good.
vm_reserve_address_range() now doesn't do anything if the requested size
of the reservation is zero.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 03:17:25 +00:00
Axel Dörfler 0f4c53b1d0 Better debug output, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 02:59:00 +00:00
Axel Dörfler 0f8e6927d8 Fixed another big and stupid bug: the first read/write not in the cache
and not on a page boundary had been executed with a I/O size too large,
and thus clobbering all sorts of memory (oh my god).
The problems with ResourceFile now seems to be gone.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 02:35:39 +00:00
Ingo Weinhold ffb6ed34b3 Fixed build with debug output enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 01:07:30 +00:00
Axel Dörfler 5e07b72508 Renamed probe() to register_device(), cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 19:03:01 +00:00
Axel Dörfler dcbf2cb678 Now uses a driver/device exploration like R5; when a directory is looked
up for the first time, it will try to load all drivers that may export
devices there. Those devices will currently stay loaded, though - this
will only be changed when load_kernel_add_on() is able to cache add-ons.
Renamed pnp_devfs_probe() to pnp_devfs_register_device().
Fixed debug output for devfs_create().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:51:21 +00:00
Axel Dörfler 568f1574d2 dev_init() and bus_init() are now both obsolete.
con_init() now takes care of the initialization of its currently built-in
console drivers itself.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:44:44 +00:00
Axel Dörfler 19abe05796 Removed dev.c as it's no longer in use (driver loading is now done by
the device manager).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:39:33 +00:00
Axel Dörfler 321fcdaf57 Removed ToDo comment about removing kernel.so - actually, we'll keep kernel.so
because it has some advantages over a relocatable kernel.
Removed libbus.a as it's no longer needed.
kernel.so now depends on kernel, so that both files are updated at once.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:37:49 +00:00
Axel Dörfler a9435d9740 Some work in progress cut back to support R5 style device exploration.
Also includes the loader of R5 styled drivers (taken from dev.c).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:29:40 +00:00
Axel Dörfler 339a06ca55 get_vnode_name() now handles a NULL parent vnode gracefully (and returns
an error in case the vnode name could not be retrieved without it).
Comment cleanup for consistency.
Renamed remaining "omode" variables to openMode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 15:59:18 +00:00
Axel Dörfler e8edb8545b A hash_lookup() to the module images was made without having the proper lock held.
Added kernel private calls load_module() and unload_module() that can be used to
load/unload modules by path.
load_module_image() now only mentions when it couldn't load a module when tracing
is enabled (because the device manager uses it to determine if an add-on is a
module or an old-style driver).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 02:37:38 +00:00
Axel Dörfler cdde948ccc Fixed compilation in case COMPILE_FOR_R5 is defined.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 22:35:28 +00:00
Axel Dörfler c004da882f Fixed compilation issues that came with changing it to be C++ (hi mmu_man :-)).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 22:23:20 +00:00
Axel Dörfler 7e536c5607 Renamed probe.c to probe.cpp to prepare if for all the changes it got.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 22:19:43 +00:00
Ingo Weinhold 523144419b * utsname::sysname is the name of the OS while system_info::kernel_name is
the name of the kernel file. Now return "Haiku" as operating system.
* Even if we can't fill in utsname::nodename with something useful yet,
  fill in at least something.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 01:18:56 +00:00
Ingo Weinhold 7e3ac9f35f Changed return value of read_port[_etc] from status_t to ssize_t. That's not how it is declared in R5, but it is what actually is returned.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:45:13 +00:00
Ingo Weinhold 2751025516 Temporarily added debug_[v]printf() functions for userland usage, equivalent to dprintf() in kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:44:16 +00:00
Ingo Weinhold 6fef29ae45 * Changed return value of read_port[_etc] from status_t to ssize_t. That's
not how it is declared in R5, but it is what actually is returned.
* Fixed _user_read_port_etc(): It didn't copy the message code back to
  userland, if the message had a size > 0.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:43:07 +00:00
Axel Dörfler cafa4dd931 Removed next_dev() again - it's implemented in libroot/os/fs_info.c and
now used from there, sorry Ingo (I forgot to commit the Jamfile that
included fs_info.c).
Minor comment cleanup to make their appearance consistent throughout
the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 14:41:00 +00:00
Axel Dörfler 40174b5c1b Added fs_info.c functions to the kernel (next_dev, fs_stat_dev, ...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 14:36:31 +00:00
Ingo Weinhold 40be269010 Added missing next_dev(). Axel?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 13:46:04 +00:00
Axel Dörfler d7e274c031 The "/tmp" symlink targeted the wrong location.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 01:27:04 +00:00
Axel Dörfler e3954f5a94 acquire_sem_etc() really didn't like the combination of B_RELATIVE_TIMEOUT
and B_INFINITE_TIMEOUT -- it now does and won't start a timer anymore in
this situation. Reported by Ingo.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 01:07:23 +00:00
Axel Dörfler 849647ec72 sync() now also syncs the vnode caches (file data).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 00:38:16 +00:00
Axel Dörfler 8b74caaae0 Brought dump_port_info() into shape, added output of port_entry::total_count.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 20:45:18 +00:00
Axel Dörfler 6158f7d53a Fixed a crashing bug in port_buffer_size_etc() - it had a special error
check for B_TIMED_OUT and B_WOULD_BLOCK, but it got through with other
errors.
Removed special error check for "known" error codes from port_buffer_size_etc(),
read_port_etc() and write_port_etc() - they no longer print out a warning in
that case.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 20:21:58 +00:00
Axel Dörfler 4d00c5e1ea We introduced the new constant B_CURRENT_TEAM for this.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 19:50:12 +00:00
Ingo Weinhold 2397da28a0 Added support for get_next_image_info() with team ID == 0, which means the current team.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-14 15:32:14 +00:00
Axel Dörfler 9c4f4c037d Changes because of renaming various data structures (pnp_node -> device_node, ...).
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-11 23:28:38 +00:00
Axel Dörfler 08ec614080 Changes because of renaming various data structures (pnp_node -> device_node, ...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-11 23:26:00 +00:00
Axel Dörfler b8877975aa Added some code to dump the node tree. This is currently done always
after hardware recognition (but will be moved into a debugger command
later).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-11 16:19:59 +00:00
Axel Dörfler d1f630f624 Fixed some typos, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 18:30:37 +00:00
Axel Dörfler f1a1d6e98a Implemented get_safemode_option() (not yet tested).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 18:06:25 +00:00
Axel Dörfler 57af9fc29e Added a small program to control the cache (using the generic syscall mechanism).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 08:08:14 +00:00
Axel Dörfler 104de70bd8 Oops, the driver name was not propagated as needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 08:01:39 +00:00
Axel Dörfler c51144040d The BOCHS_DEBUG_HACK definition now only enables support for the bochs
debug output - to activate it, you now have to enable it in the kernel
settings file ("bochs_debug_output true").
Reimplemented the serial output so that it's flexible towards the base
port at run time.
Implemented support for kernel settings "serial_debug_port" (which can
now also be an index in the BIOS provided serial ports list), and
"serial_debug_speed".
That also means that you can finally use the same kernel executable
under BeOS Bochs and on a real system without any restrictions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:53:22 +00:00
Axel Dörfler 163338aef6 Now calls the new arch_dbg_con_init_settings() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:48:44 +00:00
Axel Dörfler b15a7e8e0a Now initializes the driver_settings services (so that it can find the
settings passed over by the boot loader).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:47:51 +00:00
Axel Dörfler 74272e4c46 mutex_lock() will no longer panic() if acquire_sem() failed and the mutex
holder did not change (required for booting properly).
Also added a ToDo comment about a required mutex API change in order to
be able to return a status that indicates failure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:46:48 +00:00
Axel Dörfler 486c7eddeb Added driver_settings support: it will now read in the vesa kernel driver
settings and use that one as standard video size (but ignores the depth
parameter for now).
It will be the app_server's responsibility to keep this file up to date.
This file should no longer be edited by users.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:41:01 +00:00
Axel Dörfler 4c89c923bf For now doesn't switch to text mode and back to the logo anymore when the
menu is shown - the logo is now shown after the menu anyway.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:38:01 +00:00
Axel Dörfler 78c5ef46fc Added driver_settings support.
It will now load all settings in the kernel driver settings directory
and pass them over to the kernel (unparsed).
Additionally, it allows other parts of the boot loader to access
driver_settings just like in the kernel.
Moved the switch to the logo in the boot loader much further to the end
of the boot loader's life cycle. This is done so that the boot loader
can directly use the video mode as configured in Haiku, without a jumping
logo. Since the delay will be noticeable on a real system, we might want
to introduce a second different boot logo, though. We'll see.
stdio.cpp now also exports errno (and _errnop). Might be changed to a
different approach later as well (it's now done this way so that strtol.o
can be taken over unchanged from libroot.so).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:32:54 +00:00
Axel Dörfler a2940337b4 Added strcasecmp(), strlcat(), and strtol() to the boot loader in order to
be able to use the driver settings in a useful way.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:26:50 +00:00
Axel Dörfler f753d9c494 Updated to export all the functionality we need from within the kernel
and the boot loader.
When compiled in the kernel, driver settings are cached and may be used
without disk access at all.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:25:23 +00:00
Axel Dörfler c776c35a04 Added a temporary way to differentiate between kernel and userland builds for
parts of kernel_os_main.o.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 01:32:11 +00:00
Axel Dörfler 0f6c560eec Removed the upper restriction of maximum cache transfers (was restricted
to 32 pages at a time out of pure lazyness).
Also fixed a potential bug when reading across page bounds (pageOffset
might not have been properly reset).
Added some more comments and ToDo items.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-09 22:40:30 +00:00