added 2 changesets to branch 'refs/remotes/xyzzy-github/x86_64' old head: 15feb60325be086823e80a3468f7aab2bfbc9f7d new head: 7444a55ce55af4fecf298a1749c1c23228305385 ---------------------------------------------------------------------------- c151762: Compile APIC and timer code for x86_64, and create an area for the IDT. 7444a55: Merge branch 'master' into x86_64 [ Alex Smith <alex@xxxxxxxxxxxxxxxx> ] ---------------------------------------------------------------------------- 71 files changed, 17720 insertions(+), 53 deletions(-) build/jam/FileRules | 2 +- build/jam/OptionalBuildFeatures | 33 + build/jam/OptionalPackages | 4 +- src/apps/Jamfile | 1 + src/apps/webpositive/AuthenticationPanel.cpp | 218 ++ src/apps/webpositive/AuthenticationPanel.h | 65 + src/apps/webpositive/BrowserApp.cpp | 449 ++++ src/apps/webpositive/BrowserApp.h | 88 + src/apps/webpositive/BrowserWindow.cpp | 2215 ++++++++++++++++ src/apps/webpositive/BrowserWindow.h | 257 ++ src/apps/webpositive/BrowsingHistory.cpp | 381 +++ src/apps/webpositive/BrowsingHistory.h | 112 + src/apps/webpositive/CredentialsStorage.cpp | 275 ++ src/apps/webpositive/CredentialsStorage.h | 98 + src/apps/webpositive/DownloadProgressView.cpp | 838 ++++++ src/apps/webpositive/DownloadProgressView.h | 111 + src/apps/webpositive/DownloadWindow.cpp | 573 ++++ src/apps/webpositive/DownloadWindow.h | 75 + src/apps/webpositive/Jamfile | 71 + src/apps/webpositive/SettingsKeys.cpp | 51 + src/apps/webpositive/SettingsKeys.h | 52 + src/apps/webpositive/SettingsWindow.cpp | 885 ++++++ src/apps/webpositive/SettingsWindow.h | 122 + src/apps/webpositive/URLInputGroup.cpp | 654 +++++ src/apps/webpositive/URLInputGroup.h | 43 + src/apps/webpositive/WebPositive.rdef | 350 +++ .../webpositive/autocompletion/AutoCompleter.cpp | 253 ++ .../webpositive/autocompletion/AutoCompleter.h | 161 ++ .../autocompletion/AutoCompleterDefaultImpl.cpp | 467 ++++ .../autocompletion/AutoCompleterDefaultImpl.h | 100 + .../autocompletion/TextViewCompleter.cpp | 169 ++ .../webpositive/autocompletion/TextViewCompleter.h | 48 + src/apps/webpositive/support/AutoLocker.h | 178 ++ src/apps/webpositive/support/BaseURL.cpp | 18 + src/apps/webpositive/support/BaseURL.h | 14 + src/apps/webpositive/support/BitmapButton.cpp | 119 + src/apps/webpositive/support/BitmapButton.h | 44 + src/apps/webpositive/support/DateTime.cpp | 1473 ++++++++++ src/apps/webpositive/support/DateTime.h | 225 ++ src/apps/webpositive/support/FontSelectionView.cpp | 527 ++++ src/apps/webpositive/support/FontSelectionView.h | 91 + src/apps/webpositive/support/HashKeys.h | 124 + src/apps/webpositive/support/HashMap.h | 481 ++++ src/apps/webpositive/support/HashSet.h | 342 +++ src/apps/webpositive/support/IconButton.cpp | 929 +++++++ src/apps/webpositive/support/IconButton.h | 134 + src/apps/webpositive/support/IconUtils.h | 80 + src/apps/webpositive/support/NavMenu.h | 168 ++ src/apps/webpositive/support/OpenHashTable.h | 514 ++++ src/apps/webpositive/support/SettingsMessage.cpp | 514 ++++ src/apps/webpositive/support/SettingsMessage.h | 105 + src/apps/webpositive/support/SlowMenu.h | 76 + src/apps/webpositive/support/StringForSize.cpp | 43 + src/apps/webpositive/support/StringForSize.h | 23 + src/apps/webpositive/support/WindowIcon.h | 54 + src/apps/webpositive/svn_revision.cpp | 10 + src/apps/webpositive/svn_revision.h | 15 + src/apps/webpositive/tabview/TabContainerView.cpp | 542 ++++ src/apps/webpositive/tabview/TabContainerView.h | 103 + src/apps/webpositive/tabview/TabManager.cpp | 940 +++++++ src/apps/webpositive/tabview/TabManager.h | 97 + src/apps/webpositive/tabview/TabView.cpp | 365 +++ src/apps/webpositive/tabview/TabView.h | 122 + src/kits/tracker/FSUtils.cpp | 23 +- src/kits/tracker/OpenWithWindow.cpp | 4 +- src/system/kernel/arch/x86/64/int.cpp | 10 +- src/system/kernel/arch/x86/64/stubs.cpp | 23 +- src/system/kernel/arch/x86/Jamfile | 14 +- src/system/kernel/arch/x86/apic.cpp | 5 +- src/system/kernel/arch/x86/arch_timer.cpp | 1 - src/system/kernel/vm/vm.cpp | 2 +- ############################################################################ Commit: c15176264b7fa5b4e20b4692d30ed9403fd9c71b Author: Alex Smith <alex@xxxxxxxxxxxxxxxx> Date: Fri Jul 6 14:24:02 2012 UTC Compile APIC and timer code for x86_64, and create an area for the IDT. ---------------------------------------------------------------------------- diff --git a/src/system/kernel/arch/x86/64/int.cpp b/src/system/kernel/arch/x86/64/int.cpp index 849777b..bbc5850 100644 --- a/src/system/kernel/arch/x86/64/int.cpp +++ b/src/system/kernel/arch/x86/64/int.cpp @@ -11,6 +11,8 @@ #include <boot/kernel_args.h> #include <cpu.h> +#include <vm/vm.h> +#include <vm/vm_priv.h> #include <arch/x86/apic.h> #include <arch/x86/descriptors.h> @@ -187,9 +189,13 @@ arch_int_init_post_vm(kernel_args* args) { // Always init the local apic as it can be used for timers even if we // don't end up using the io apic - //apic_init(args); + apic_init(args); - // TODO: create area for IDT. + // Create an area for the IDT. + area_id area = create_area("idt", (void**)&sIDT, B_EXACT_ADDRESS, + B_PAGE_SIZE, B_ALREADY_WIRED, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA); + if (area < 0) + return area; return B_OK; } diff --git a/src/system/kernel/arch/x86/64/stubs.cpp b/src/system/kernel/arch/x86/64/stubs.cpp index 97564aa..041e17f 100644 --- a/src/system/kernel/arch/x86/64/stubs.cpp +++ b/src/system/kernel/arch/x86/64/stubs.cpp @@ -331,7 +331,7 @@ arch_thread_init(struct kernel_args *args) status_t arch_team_init_team_struct(Team *p, bool kernel) { - return B_ERROR; + return B_OK; } @@ -415,27 +415,6 @@ arch_restore_fork_frame(struct arch_fork_arg* arg) } -void -arch_timer_set_hardware_timer(bigtime_t timeout) -{ - -} - - -void -arch_timer_clear_hardware_timer(void) -{ - -} - - -int -arch_init_timer(kernel_args *args) -{ - return 0; -} - - // The software breakpoint instruction (int3). const uint8 kX86SoftwareBreakpoint[1] = { 0xcc }; diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index 207abb9..70d1013 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -50,10 +50,8 @@ if $(TARGET_ARCH) = x86_64 { arch_real_time_clock.cpp arch_smp.cpp arch_thread.cpp - arch_timer.cpp arch_system_info.cpp arch_user_debugger.cpp - apic.cpp apm.cpp bios.cpp ioapic.cpp @@ -77,11 +75,6 @@ if $(TARGET_ARCH) = x86_64 { X86PagingMethodPAE.cpp X86PagingStructuresPAE.cpp X86VMTranslationMapPAE.cpp - - # timers - x86_apic.cpp - x86_hpet.cpp - x86_pit.cpp ; } @@ -90,8 +83,10 @@ local archGenericSources = arch_debug_console.cpp arch_int.cpp arch_platform.cpp + arch_timer.cpp arch_vm.cpp arch_vm_translation_map.cpp + apic.cpp pic.cpp # paging @@ -99,6 +94,11 @@ local archGenericSources = X86PagingMethod.cpp X86PagingStructures.cpp X86VMTranslationMap.cpp + + # timers + x86_apic.cpp + x86_hpet.cpp + x86_pit.cpp ; KernelMergeObject kernel_arch_x86.o : diff --git a/src/system/kernel/arch/x86/apic.cpp b/src/system/kernel/arch/x86/apic.cpp index 2c83935..70f662c 100644 --- a/src/system/kernel/arch/x86/apic.cpp +++ b/src/system/kernel/arch/x86/apic.cpp @@ -88,8 +88,9 @@ apic_init(kernel_args *args) status_t apic_per_cpu_init(kernel_args *args, int32 cpu) { - dprintf("setting up apic for CPU %ld: apic id %lu, version %lu\n", cpu, - apic_local_id(), apic_read(APIC_VERSION)); + dprintf("setting up apic for CPU %" B_PRId32 ": apic id %" B_PRIu32 ", " + "version %" B_PRIu32 "\n", cpu, apic_local_id(), + apic_read(APIC_VERSION)); /* set spurious interrupt vector to 0xff */ uint32 config = apic_read(APIC_SPURIOUS_INTR_VECTOR) & 0xffffff00; diff --git a/src/system/kernel/arch/x86/arch_timer.cpp b/src/system/kernel/arch/x86/arch_timer.cpp index 3ee378a..2248afa 100644 --- a/src/system/kernel/arch/x86/arch_timer.cpp +++ b/src/system/kernel/arch/x86/arch_timer.cpp @@ -24,7 +24,6 @@ #include <arch/x86/smp_priv.h> #include <arch/x86/timer.h> -#include "interrupts.h" //#define TRACE_TIMER #ifdef TRACE_TIMER diff --git a/src/system/kernel/vm/vm.cpp b/src/system/kernel/vm/vm.cpp index bedf910..0408935 100644 --- a/src/system/kernel/vm/vm.cpp +++ b/src/system/kernel/vm/vm.cpp @@ -60,7 +60,7 @@ //#define TRACE_VM -#define TRACE_FAULTS +//#define TRACE_FAULTS #ifdef TRACE_VM # define TRACE(x) dprintf x #else ############################################################################ Commit: 7444a55ce55af4fecf298a1749c1c23228305385 Author: Alex Smith <alex@xxxxxxxxxxxxxxxx> Date: Fri Jul 6 14:55:59 2012 UTC Merge branch 'master' into x86_64 ----------------------------------------------------------------------------