Changes in / [d9e2e0e:c0e74b1] in mainline
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/mips32/src/interrupt.c
rd9e2e0e rc0e74b1 38 38 #include <arch.h> 39 39 #include <arch/cp0.h> 40 #include <arch/smp/dorder.h> 40 41 #include <time/clock.h> 41 42 #include <ipc/sysipc.h> … … 48 49 function virtual_timer_fnc = NULL; 49 50 static irq_t timer_irq; 51 static irq_t dorder_irq; 50 52 51 53 // TODO: This is SMP unsafe!!! … … 149 151 } 150 152 153 static irq_ownership_t dorder_claim(irq_t *irq) 154 { 155 return IRQ_ACCEPT; 156 } 157 158 static void dorder_irq_handler(irq_t *irq) 159 { 160 dorder_ipi_ack(1 << dorder_cpuid()); 161 } 162 151 163 /* Initialize basic tables for exception dispatching */ 152 164 void interrupt_init(void) … … 163 175 timer_start(); 164 176 cp0_unmask_int(TIMER_IRQ); 177 178 irq_initialize(&dorder_irq); 179 dorder_irq.devno = device_assign_devno(); 180 dorder_irq.inr = DORDER_IRQ; 181 dorder_irq.claim = dorder_claim; 182 dorder_irq.handler = dorder_irq_handler; 183 irq_register(&dorder_irq); 184 185 cp0_unmask_int(DORDER_IRQ); 165 186 } 166 187 -
kernel/arch/mips32/src/smp/dorder.c
rd9e2e0e rc0e74b1 33 33 */ 34 34 35 #include <typedefs.h> 35 36 #include <smp/ipi.h> 37 #include <arch/smp/dorder.h> 38 39 #define MSIM_DORDER_ADDRESS 0xB0000004 36 40 37 41 #ifdef CONFIG_SMP 38 42 39 #define MSIM_DORDER_ADDRESS 0xB000000440 41 43 void ipi_broadcast_arch(int ipi) 42 44 { 43 *((volatile u nsigned int *) MSIM_DORDER_ADDRESS) = 0x7FFFFFFF;45 *((volatile uint32_t *) MSIM_DORDER_ADDRESS) = 0x7fffffff; 44 46 } 45 47 46 48 #endif 47 49 50 uint32_t dorder_cpuid(void) 51 { 52 return *((volatile uint32_t *) MSIM_DORDER_ADDRESS); 53 } 54 55 void dorder_ipi_ack(uint32_t mask) 56 { 57 *((volatile uint32_t *) (MSIM_DORDER_ADDRESS + 4)) = mask; 58 } 59 48 60 /** @} 49 61 */ -
tools/toolchain.sh
rd9e2e0e rc0e74b1 1 #! /bin/bash1 #! /bin/bash 2 2 3 3 # … … 33 33 echo 34 34 echo "Script failed: $2" 35 35 36 exit 1 36 37 fi … … 45 46 echo 46 47 echo "Checksum of ${FILE} does not match." 48 47 49 exit 2 48 50 fi … … 71 73 } 72 74 75 change_title() { 76 echo -en "\e]0;$1\a" 77 } 78 79 show_countdown() { 80 TM="$1" 81 82 if [ "${TM}" -eq 0 ] ; then 83 echo 84 return 0 85 fi 86 87 echo -n "${TM} " 88 change_title "${TM}" 89 sleep 1 90 91 TM="`expr "${TM}" - 1`" 92 show_countdown "${TM}" 93 } 94 95 show_dependencies() { 96 echo "IMPORTANT NOTICE:" 97 echo 98 echo "For a successful compilation and use of the cross-compiler" 99 echo "toolchain you need at least the following dependencies." 100 echo 101 echo "Please make sure that the dependencies are present in your" 102 echo "system. Otherwise the compilation process might fail after" 103 echo "a few seconds or minutes." 104 echo 105 echo " - SED, AWK, Flex, Bison, gzip, bzip2, Bourne Shell" 106 echo " - gettext, zlib, Texinfo, libelf, libgomp" 107 echo " - GNU Multiple Precision Library (GMP)" 108 echo " - GNU Make" 109 echo " - GNU tar" 110 echo " - GNU Coreutils" 111 echo " - GNU Sharutils" 112 echo " - MPFR" 113 echo " - MPC" 114 echo " - Parma Polyhedra Library (PPL)" 115 echo " - ClooG-PPL" 116 echo " - native C compiler, assembler and linker" 117 echo " - native C library with headers" 118 echo 119 120 show_countdown 10 121 } 122 73 123 download_check() { 74 124 SOURCE="$1" … … 77 127 78 128 if [ ! -f "${FILE}" ]; then 129 change_title "Downloading ${FILE}" 79 130 wget -c "${SOURCE}${FILE}" 80 131 check_error $? "Error downloading ${FILE}." … … 88 139 89 140 if [ -d "${DIR}" ]; then 141 change_title "Removing ${DIR}" 90 142 echo " >>> Removing ${DIR}" 91 143 rm -fr "${DIR}" … … 97 149 DESC="$2" 98 150 151 change_title "Creating ${DESC}" 99 152 echo ">>> Creating ${DESC}" 100 153 … … 108 161 DESC="$2" 109 162 110 echo " >>> ${DESC}" 163 change_title "Unpacking ${DESC}" 164 echo " >>> Unpacking ${DESC}" 111 165 112 166 tar -xjf "${FILE}" … … 142 196 143 197 BINUTILS_VERSION="2.20" 144 GCC_VERSION="4.5. 0"198 GCC_VERSION="4.5.1" 145 199 146 200 BINUTILS="binutils-${BINUTILS_VERSION}.tar.bz2" … … 165 219 echo ">>> Downloading tarballs" 166 220 download_check "${BINUTILS_SOURCE}" "${BINUTILS}" "ee2d3e996e9a2d669808713360fa96f8" 167 download_check "${GCC_SOURCE}" "${GCC_CORE}" " 58eda33c3184303628f91c42a7ab15b5"168 download_check "${GCC_SOURCE}" "${GCC_OBJC}" " 8d8c01b6631b020cc6c167860fde2398"169 download_check "${GCC_SOURCE}" "${GCC_CPP}" " 5ab93605af40def4844eda09ca769c2d"221 download_check "${GCC_SOURCE}" "${GCC_CORE}" "dc8959e31b01a65ce10d269614815054" 222 download_check "${GCC_SOURCE}" "${GCC_OBJC}" "3c11b7037896e967eddf8178af2ddd98" 223 download_check "${GCC_SOURCE}" "${GCC_CPP}" "b294953ff0bb2f20c7acb2bf005d832a" 170 224 171 225 echo ">>> Removing previous content" … … 184 238 unpack_tarball "${GCC_CPP}" "C++" 185 239 186 echo ">>> Compiling and installing binutils"240 echo ">>> Processing binutils (${PLATFORM})" 187 241 cd "${BINUTILSDIR}" 188 242 check_error $? "Change directory failed." 189 243 patch_binutils "${PLATFORM}" 190 ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" "--disable-nls" 244 245 change_title "binutils: configure (${PLATFORM})" 246 ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls 191 247 check_error $? "Error configuring binutils." 248 249 change_title "binutils: make (${PLATFORM})" 192 250 make all install 193 251 check_error $? "Error compiling/installing binutils." 194 252 195 echo ">>> Compiling and installing GCC"253 echo ">>> Processing GCC (${PLATFORM})" 196 254 cd "${OBJDIR}" 197 255 check_error $? "Change directory failed." 256 257 change_title "GCC: configure (${PLATFORM})" 198 258 "${GCCDIR}/configure" "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --with-gnu-as --with-gnu-ld --disable-nls --disable-threads --enable-languages=c,objc,c++,obj-c++ --disable-multilib --disable-libgcj --without-headers --disable-shared --enable-lto 199 259 check_error $? "Error configuring GCC." 260 261 change_title "GCC: make (${PLATFORM})" 200 262 PATH="${PATH}:${PREFIX}/bin" make all-gcc install-gcc 201 263 check_error $? "Error compiling/installing GCC." … … 216 278 show_usage 217 279 fi 280 281 show_dependencies 218 282 219 283 case "$1" in -
uspace/srv/vfs/vfs_ops.c
rd9e2e0e rc0e74b1 1355 1355 int ret = vfs_close_internal(newfile); 1356 1356 if (ret != EOK) { 1357 fibril_mutex_unlock(&oldfile->lock); 1357 1358 ipc_answer_0(rid, ret); 1358 1359 return; … … 1361 1362 ret = vfs_fd_free(newfd); 1362 1363 if (ret != EOK) { 1364 fibril_mutex_unlock(&oldfile->lock); 1363 1365 ipc_answer_0(rid, ret); 1364 1366 return;
Note:
See TracChangeset
for help on using the changeset viewer.