Commit Graph

35212 Commits

Author SHA1 Message Date
Ingo Weinhold
84e9db7fb7 x86 mmu_init(): Sum up the physical memory we ignore for whatever reason --
stored in kernel_args::ignored_physical_memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 15:57:21 +00:00
Ingo Weinhold
61d2b06c40 Use PAE only when there's memory beyond the 4G limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 15:11:53 +00:00
Jérôme Duval
b14ae02b95 some verbs use a 16 bits payload
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 14:16:30 +00:00
Jérôme Duval
9a0a4979d5 * add some helper functions to read/write verbs.
* try at support realtek alc888. alsa uses this init sequence.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 14:02:50 +00:00
Scott McCreary
9b9c5a1b8b Updated libtool to 2.2.10
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 09:34:17 +00:00
Stefano Ceccherini
b47e904c1f Add to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 07:09:57 +00:00
Stefano Ceccherini
372eb8749c Fix the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 07:09:45 +00:00
Stefano Ceccherini
3f28966548 Imported MenuWorld beos sample code into the repository.
Wrote a jamfile and did some build fix (but doesn't build yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 07:03:01 +00:00
Travis Geiselbrecht
9623c48284 SMP: remove the tracking of apic id -> cpu id. Don't pass between bootloader and kernel.
Kernel doesn't use it, and it could be regenerated in the kernel if it did need it.

This also unlocks the apic range the bios can use. Previously the apic ids would have
to fit within 0..MAX_CPUS or it'd reject the cpu. Some boxes (mine in particular)
seem to sparsely populate the apic id so that the range is pretty large.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 01:01:54 +00:00
Ingo Weinhold
977ffe5233 No longer ignore the physical memory beyond 4 GB, if we have a 64 bit
phys_addr_t. IOW, if PAE is enabled, that memory should be put to use now.
Apparently we report an incorrect amount of total memory (also counting
memory gaps), which also suggests that we need another method to manage the
vm_page structures (currently a huge array with indexes proportional to
physical page addresses, i.e. wasting memory for the gaps).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 00:36:44 +00:00
Ingo Weinhold
4d2b2dc4d2 Enable PAE on all CPUs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 00:13:54 +00:00
Ingo Weinhold
bd4454cb95 * Simplified smp_trap_non_boot_cpus() and smp_wake_up_non_boot_cpus(): We don't
need a spinlock per CPU; a single variable suffices.
* Extended call_all_cpus[_sync]() to work before smp_wake_up_non_boot_cpus()
  (even before smp_init()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-12 00:13:30 +00:00
Ingo Weinhold
4bdc89aa14 * Implemented X86PagingMethodPAE::PhysicalPageSlotPool::AllocatePool().
* Implemented X86PagingMethodPAE::IsKernelPageAccessible().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 23:23:44 +00:00
Ingo Weinhold
83c3e7d3ba Added kPAEPageDirRange constant.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 23:21:02 +00:00
Ingo Weinhold
bdc4a73afc Disable debug output also in C++ mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 18:04:25 +00:00
Ingo Weinhold
d382fc3a8e Added commented line to enable PAE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 16:26:11 +00:00
Ingo Weinhold
68b53104ba * Implemented X86VMTranslationMapPAE and X86PagingStructuresPAE destruction.
* Implemented X86VMTranslationMapPAE::QueryInterrupt().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 16:21:13 +00:00
Matt Madia
99f806cc7f Corrected the leaves. After a closer look, the gradients of all 3 leaves are
different based on the background color.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 15:35:07 +00:00
François Revol
c1c42eb1c5 Use bilinear filtering for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 12:59:57 +00:00
Wim van der Meer
46f84134a9 Use B_PAGE_SIZE for calculating memory size in the AboutSystem app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 10:56:39 +00:00
Wim van der Meer
08bed3e8aa Use bilinear bitmap scaling for the screenshot preview.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 08:38:39 +00:00
Axel Dörfler
12c93cc7f8 * Before stippi starts clobbering the sources everywhere with superfluous
work-arounds, I applied the work-around where the problem actually occurs,
  until someone takes the time to look into it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 07:56:51 +00:00
Axel Dörfler
be816234e8 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 07:29:16 +00:00
Wim van der Meer
fc0d49483e Forgot to change the application signature in one location
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 02:36:51 +00:00
Philippe Houdoin
2586d9d144 Forgot to detect when an interface configuration is "disabled"
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 01:17:58 +00:00
Philippe Houdoin
2d3904fe20 Add interface disabling support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 01:00:49 +00:00
Ingo Weinhold
b35f3d132c X86VMTranslationMapPAE::Init(): Implemented the initialization for userland
maps. Now we can at least fully boot in qemu with one CPU. A few things
still need to be implemented, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 17:45:38 +00:00
François Revol
8736281d13 Missing default namespace. Maybe stippi could fix WonderBrush and regenerate it though ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 17:40:19 +00:00
Ingo Weinhold
5d89694992 Added methods {Allocate,Free}32BitPage(), which allocate+map/unmap+free a
page with a 32 bit physical address (needed for the PDPTs). A small set of
free pages is cached, so the rather expensive vm_page_allocate_page_run() can
be avoided most of the time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 17:38:47 +00:00
Ingo Weinhold
f498c07968 Added STATIC_ASSERT() macro (from <Debug.h>, which cannot be included in the
kernel).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 17:31:57 +00:00
Ingo Weinhold
1d26c7248f vm_page_allocate_page_run(): Added parameter "limit", specifying the upper
physical address limit for the page run to allocate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 17:30:49 +00:00
Ingo Weinhold
0c4c918a3d Fleshed out most of the unimplemented methods. The kernel boots up to the
creation of the initial shell, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 13:25:36 +00:00
Ingo Weinhold
1c01dd3be0 Added InvalidatePage() which adds a new address to the invalidation cache.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 13:22:44 +00:00
Axel Dörfler
4c75e72cde * Fixed style violations introduced by Rudolf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 10:56:05 +00:00
Rudolf Cornelissen
a586cdf275 added ricatech netbook touchpad recognition. works ok now. hope nobody minds..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 10:48:07 +00:00
Ingo Weinhold
297bfa1aba Converted sources that include the private <vm/vm.h> to C++. Fixes the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 10:38:29 +00:00
Stephan Aßmus
d0a2818e88 * Do not use the Scaler anymore for asynchronous bilinear filtering, but pass
B_FILTER_BITMAP_BILINEAR to DrawBitmap(). There is virtually no delay at all.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 09:43:10 +00:00
Stephan Aßmus
6794f5b5c2 Removed obsolete run script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 09:03:00 +00:00
Stephan Aßmus
1179b11bf2 Work around a bug in the tool tip implementation that prevents changing the
tool tip once it has been displayed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 09:02:29 +00:00
Stephan Aßmus
70e39d0927 Adding a button at a specific position did not work since converting LaunchBox
to using layout management. When storing the settings, the new button was stored
last. Using the BLayoutItem at the given index retrieves the correct button.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-10 08:52:57 +00:00
Ingo Weinhold
5d6d1935d6 Implemented X86PagingMethodPAE::Init() and all of its direct dependencies:
* The 32 bit paging structures inherited from the boot loader are translated
  to PAE structures and PAE is enabled.
* Implemented the initialization of the initial PhysicalPageSlotPool, so that
  the physical page mapper can be initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-09 21:31:00 +00:00
Ingo Weinhold
38bde24102 Added some definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-09 21:23:45 +00:00
Ingo Weinhold
e5885c7d0c Moved kPageTableAlignment to paging.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-09 21:22:23 +00:00
Ingo Weinhold
9e101ddfcc Definition for CR4 PAE bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-09 21:21:48 +00:00
Ingo Weinhold
641b3c82df Renamed allocate_early_physical_page() to vm_allocate_early_physical_page()
and made it public.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-09 21:21:18 +00:00
DarkWyrm
0b50919e23 Make FileTypes edit resources on resource files and not just applications
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-09 14:37:00 +00:00
Ingo Weinhold
2ea7b17cf3 * vm_allocate_early(): Replace "bool blockAlign" parameter by a more flexible
"addr_t aligmnent".
* X86PagingMethod32Bit::PhysicalPageSlotPool::InitInitial(),
  generic_vm_physical_page_mapper_init(): Use vm_allocate_early()'s alignment
  feature instead of aligning by hand.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-09 11:15:43 +00:00
Ingo Weinhold
c8a1d3ad1e Added PAE bits and type definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-08 22:12:20 +00:00
Ingo Weinhold
a410098f28 Only use PAE, if supported by the CPU.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-08 21:43:19 +00:00
Ingo Weinhold
12f0b50c3a Removed not needed and no longer existing header. Fixes the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-08 21:21:55 +00:00