Skip to content

Commit

Permalink
introduce --enable-xapic configure option
Browse files Browse the repository at this point in the history
  • Loading branch information
sshwarts committed Feb 24, 2010
1 parent 579bbe9 commit 77c2eac
Show file tree
Hide file tree
Showing 9 changed files with 235 additions and 128 deletions.
1 change: 1 addition & 0 deletions .conf.everything
Expand Up @@ -5,6 +5,7 @@
./configure \
--enable-smp \
--enable-x86-64 \
--enable-xapic \
--enable-all-optimizations \
--enable-long-phy-address \
--enable-1g-pages \
Expand Down
15 changes: 11 additions & 4 deletions CHANGES
Expand Up @@ -9,15 +9,20 @@ Changes after 2.4.2:
- Introduced range read/write physical watchpoints
- Allow reloading of segment registers from internal debugger

- Cleanup configure options
- Configure options
- Make --ignore-bad-msrs runtime option in .bochsrc. Old --ignore-bad-msrs
configure option is deprecated and should not be used anymore.
- Local APIC configure option --enable-apic is deprecated and should not
be used anymore. The LAPIC option now automatically determined from
other configure options.
- Extended --enable-sse configure option to accept any of possible existing
SSE configurations (sse1/sse2/sse3/ssse3/sse4_1/sse4_2). Configure option
--enable-sse-extension is deprecated and should not be used anymore.
- Local APIC configure option --enable-apic is deprecated and should not
be used anymore. The LAPIC option now automatically determined from
other configure options.
- Introduce new configure option --enable-xapic. The option is used to
differentiate between legacy APIC and Pentium4 XAPIC implementations.
The XAPIC will be automatically enabled by configure if Pentium4 like
configuration is requested. The option will be extended in future to
configure X2APIC emulation.

- I/O Devices
- USB HP DeskJet 920C printer device emulation (Ben Lunt)
Expand Down Expand Up @@ -51,6 +56,8 @@ Changes after 2.4.2:
[1429011] Use bx_phyaddr_t for physaddr vars and bx_adress for lin adr

- these S.F. feature requests were closed/implemented
[2955911] RPM preuninstall scriptlet removes /core
[2947863] don't abort on unrecognised options
[2878861] numerics in the disassembler output
[2900619] make more CPU state changeable

Expand Down
10 changes: 7 additions & 3 deletions config.h.in
Expand Up @@ -696,6 +696,7 @@ typedef
#define BX_SUPPORT_MOVBE 0
#define BX_SUPPORT_VMX 0
#define BX_SUPPORT_1G_PAGES 0
#define BX_SUPPORT_XAPIC 0

#define BX_SupportRepeatSpeedups 0
#define BX_SupportHostAsms 0
Expand Down Expand Up @@ -797,6 +798,9 @@ typedef
#if (BX_SUPPORT_SSE<2)
#error "X86-64 requires SSE2 !"
#endif
#if BX_SUPPORT_XAPIC == 0
#error "X86-64 requires XAPIC enabled !"
#endif
#endif

// We have tested the following combinations:
Expand All @@ -814,13 +818,13 @@ typedef
#define BX_SUPPORT_APIC 0
#endif

#if BX_CPU_LEVEL == 6 && BX_SUPPORT_SSE >= 2
#define BX_IMPLEMENT_XAPIC 1
#if BX_SUPPORT_XAPIC && BX_SUPPORT_APIC == 0
#error "XAPIC requires APIC support !"
#endif

// For P6 and Pentium family processors the local APIC ID feild is 4 bits
// APIC_MAX_ID indicate broadcast so it can't be used as valid APIC ID
#ifdef BX_IMPLEMENT_XAPIC
#if BX_SUPPORT_XAPIC
#define APIC_MAX_ID 0xff
#define APIC_ID_MASK 0xff
#else
Expand Down

0 comments on commit 77c2eac

Please sign in to comment.