- Timestamp:
- 2012-05-05T08:12:17Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ee04c28
- Parents:
- 2cc7f16 (diff), d21e935c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- boot
- Files:
-
- 1 added
- 15 edited
-
Makefile (modified) (1 diff)
-
Makefile.build (modified) (1 diff)
-
Makefile.common (modified) (5 diffs)
-
arch/arm32/Makefile.inc (modified) (2 diffs)
-
arch/arm32/src/asm.S (modified) (1 diff)
-
arch/arm32/src/eabi.S (added)
-
arch/ia64/src/main.c (modified) (1 diff)
-
arch/ia64/src/pal_asm.S (modified) (3 diffs)
-
arch/ia64/src/sal_asm.S (modified) (3 diffs)
-
genarch/include/division.h (modified) (1 diff)
-
genarch/src/division.c (modified) (5 diffs)
-
generic/include/memstr.h (modified) (1 diff)
-
generic/src/memstr.c (modified) (1 diff)
-
generic/src/printf_core.c (modified) (1 diff)
-
generic/src/str.c (modified) (4 diffs)
-
generic/src/version.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
boot/Makefile
r2cc7f16 rc6588ce 66 66 cp "$$file" "$(DIST_PATH)/app/" ; \ 67 67 done 68 for file in $(NET_CFG) ; do \69 cp "$$file" "$(DIST_PATH)/cfg/net/" ; \70 done71 68 for drv in $(RD_DRVS) ; do \ 72 69 drv_dir="`dirname "$$drv"`" ; \ -
boot/Makefile.build
r2cc7f16 rc6588ce 34 34 OPTIMIZATION = 3 35 35 36 DEFS = -DRELEASE=$(RELEASE) "-D NAME=$(NAME)" -D__$(BITS)_BITS__ -D__$(ENDIANESS)__36 DEFS = -DRELEASE=$(RELEASE) "-DCOPYRIGHT=$(COPYRIGHT)" "-DNAME=$(NAME)" -D__$(BITS)_BITS__ -D__$(ENDIANESS)__ 37 37 38 38 GCC_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ -
boot/Makefile.common
r2cc7f16 rc6588ce 98 98 $(USPACE_PATH)/srv/bd/part/guid_part/g_part \ 99 99 $(USPACE_PATH)/srv/bd/part/mbr_part/mbr_part \ 100 $(USPACE_PATH)/srv/clip /clip\100 $(USPACE_PATH)/srv/clipboard/clipboard \ 101 101 $(USPACE_PATH)/srv/fs/tmpfs/tmpfs \ 102 102 $(USPACE_PATH)/srv/fs/fat/fat \ … … 106 106 $(USPACE_PATH)/srv/fs/ext2fs/ext2fs \ 107 107 $(USPACE_PATH)/srv/hid/remcons/remcons \ 108 $(USPACE_PATH)/srv/net/ethip/ethip \ 109 $(USPACE_PATH)/srv/net/inet/inet \ 110 $(USPACE_PATH)/srv/net/loopip/loopip \ 111 $(USPACE_PATH)/srv/net/tcp/tcp \ 112 $(USPACE_PATH)/srv/net/udp/udp \ 108 113 $(USPACE_PATH)/srv/taskmon/taskmon \ 109 $(USPACE_PATH)/srv/net/nil/eth/eth \110 $(USPACE_PATH)/srv/net/nil/nildummy/nildummy \111 $(USPACE_PATH)/srv/net/il/arp/arp \112 $(USPACE_PATH)/srv/net/il/ip/ip \113 $(USPACE_PATH)/srv/net/tl/icmp/icmp \114 $(USPACE_PATH)/srv/net/tl/udp/udp \115 $(USPACE_PATH)/srv/net/tl/tcp/tcp \116 $(USPACE_PATH)/srv/net/net/net \117 114 $(USPACE_PATH)/srv/devman/devman 118 115 … … 123 120 test/test2 \ 124 121 test/test3 \ 125 nic/lo \126 122 nic/ne2k \ 127 123 nic/e1k \ … … 161 157 $(USPACE_PATH)/app/edit/edit \ 162 158 $(USPACE_PATH)/app/ext2info/ext2info \ 159 $(USPACE_PATH)/app/inetcfg/inetcfg \ 163 160 $(USPACE_PATH)/app/kill/kill \ 164 161 $(USPACE_PATH)/app/killall/killall \ 165 162 $(USPACE_PATH)/app/locinfo/locinfo \ 166 163 $(USPACE_PATH)/app/mkfat/mkfat \ 164 $(USPACE_PATH)/app/mkexfat/mkexfat \ 167 165 $(USPACE_PATH)/app/mkmfs/mkmfs \ 168 166 $(USPACE_PATH)/app/lsusb/lsusb \ … … 202 200 endif 203 201 204 ifneq ($(CONFIG_BAREBONE),y)205 NET_CFG = \206 $(USPACE_PATH)/srv/net/cfg/general \207 $(USPACE_PATH)/srv/net/cfg/lo.nic \208 $(USPACE_PATH)/srv/net/cfg/ne2k.nic \209 $(USPACE_PATH)/srv/net/cfg/e1k.nic210 endif211 212 202 COMPONENTS = \ 213 203 $(KERNEL_PATH)/kernel.bin \ -
boot/arch/arm32/Makefile.inc
r2cc7f16 rc6588ce 39 39 BITS = 32 40 40 ENDIANESS = LE 41 EXTRA_CFLAGS = -march=armv4 41 42 42 43 RD_SRVS_ESSENTIAL += \ 43 $(USPACE_PATH)/srv/hid/s3c24xx_ts/s3c24 ts \44 $(USPACE_PATH)/srv/hw/char/s3c24xx_uart/s3c24 ser44 $(USPACE_PATH)/srv/hid/s3c24xx_ts/s3c24xx_ts \ 45 $(USPACE_PATH)/srv/hw/char/s3c24xx_uart/s3c24xx_uart 45 46 46 47 RD_SRVS_NON_ESSENTIAL += \ … … 49 50 SOURCES = \ 50 51 arch/$(BARCH)/src/asm.S \ 52 arch/$(BARCH)/src/eabi.S \ 51 53 arch/$(BARCH)/src/main.c \ 52 54 arch/$(BARCH)/src/mm.c \ -
boot/arch/arm32/src/asm.S
r2cc7f16 rc6588ce 60 60 # before passing control to the copied code. 61 61 # 62 bxr062 mov pc, r0 -
boot/arch/ia64/src/main.c
r2cc7f16 rc6588ce 189 189 printf("\nInflating components ... "); 190 190 191 /* 192 * We will use the next available address for a copy of each component to 193 * make sure that inflate() works with disjunctive memory regions. 194 */ 195 top = ALIGN_UP(top, PAGE_SIZE); 196 191 197 for (i = cnt; i > 0; i--) { 192 198 printf("%s ", components[i - 1].name); 193 199 194 int err = inflate(components[i - 1].start, components[i - 1].size, 200 /* 201 * Copy the component to a location which is guaranteed not to 202 * overlap with the destination for inflate(). 203 */ 204 memmove((void *) top, components[i - 1].start, components[i - 1].size); 205 206 int err = inflate((void *) top, components[i - 1].size, 195 207 dest[i - 1], components[i - 1].inflated); 196 208 -
boot/arch/ia64/src/pal_asm.S
r2cc7f16 rc6588ce 32 32 33 33 pal_static_call: 34 alloc loc0 = ar.pfs, 7, 5, 0, 0 34 alloc loc0 = ar.pfs, 7, 6, 0, 0 35 36 mov loc1 = psr ;; 37 mov psr.l = r0 ;; 38 srlz.i 39 srlz.d 35 40 36 mov loc 1= gp37 mov loc 2= rp41 mov loc2 = gp 42 mov loc3 = rp 38 43 39 addl loc 3= @gprel(pal_proc), gp40 44 addl loc4 = @gprel(pal_proc), gp 45 41 46 mov r28 = in0 42 47 mov r29 = in1 … … 44 49 mov r31 = in3 ;; 45 50 46 ld8 loc 3 = [loc3]47 movl loc 4= 0f ;;51 ld8 loc4 = [loc4] 52 movl loc5 = 0f ;; 48 53 49 mov b6 = loc 350 mov rp = loc 4;;54 mov b6 = loc4 55 mov rp = loc5 ;; 51 56 br.cond.sptk.many b6 52 57 53 58 0: 59 mov psr.l = loc1 ;; 60 srlz.i 61 srlz.d 62 54 63 cmp.ne p7,p0 = 0, in4 55 64 cmp.ne p8,p0 = 0, in5 … … 60 69 (p9) st8 [in6] = r11 61 70 62 mov gp = loc 163 mov rp = loc 2;;71 mov gp = loc2 72 mov rp = loc3 ;; 64 73 65 74 mov ar.pfs = loc0 -
boot/arch/ia64/src/sal_asm.S
r2cc7f16 rc6588ce 29 29 .explicit 30 30 31 #define STACK_SCRATCH_AREA 16 32 #define STACK_IN8 (0 + STACK_SCRATCH_AREA) 33 #define STACK_IN9 (8 + STACK_SCRATCH_AREA) 34 #define STACK_IN10 (16 + STACK_SCRATCH_AREA) 35 31 36 .global sal_call 32 37 … … 39 44 # 40 45 sal_call: 41 alloc loc0 = ar.pfs, 11, 5, 8, 046 alloc loc0 = ar.pfs, 8, 8, 8, 0 42 47 48 adds sp = -STACK_SCRATCH_AREA, sp 49 43 50 mov loc1 = gp 44 51 mov loc2 = rp … … 57 64 58 65 ld8 loc3 = [loc3] 59 ld8 gp = [loc4] ;; 66 ld8 gp = [loc4] 67 68 adds r14 = STACK_IN8 + STACK_SCRATCH_AREA, sp 69 adds r15 = STACK_IN9 + STACK_SCRATCH_AREA, sp 70 adds r16 = STACK_IN10 + STACK_SCRATCH_AREA, sp ;; 71 72 ld8 loc5 = [r14] 73 ld8 loc6 = [r15] 74 ld8 loc7 = [r16] 60 75 61 76 mov b6 = loc3 ;; 62 77 br.call.sptk.many rp = b6 63 78 64 cmp.ne p7,p0 = 0, in865 cmp.ne p8,p0 = 0, in966 cmp.ne p9,p0 = 0, in10;;79 cmp.ne p7,p0 = 0, loc5 80 cmp.ne p8,p0 = 0, loc6 81 cmp.ne p9,p0 = 0, loc7 ;; 67 82 68 (p7) st8 [ in8] = r969 (p8) st8 [ in9] = r1070 (p9) st8 [ in10] = r1183 (p7) st8 [loc5] = r9 84 (p8) st8 [loc6] = r10 85 (p9) st8 [loc7] = r11 71 86 72 87 mov gp = loc1 73 mov rp = loc2 ;; 88 mov rp = loc2 89 90 adds sp = STACK_SCRATCH_AREA, sp ;; 74 91 75 92 mov ar.pfs = loc0 76 93 br.ret.sptk.many rp 94 -
boot/genarch/include/division.h
r2cc7f16 rc6588ce 33 33 #define BOOT_DIVISION_H_ 34 34 35 /* 32bit integer division */36 35 extern int __divsi3(int, int); 37 38 /* 64bit integer division */39 36 extern long long __divdi3(long long, long long); 40 37 41 /* 32bit unsigned integer division */42 38 extern unsigned int __udivsi3(unsigned int, unsigned int); 43 44 /* 64bit unsigned integer division */45 39 extern unsigned long long __udivdi3(unsigned long long, unsigned long long); 46 40 47 /* 32bit remainder of the signed division */48 41 extern int __modsi3(int, int); 49 50 /* 64bit remainder of the signed division */51 42 extern long long __moddi3(long long, long long); 52 43 53 /* 32bit remainder of the unsigned division */54 44 extern unsigned int __umodsi3(unsigned int, unsigned int); 55 56 /* 64bit remainder of the unsigned division */57 45 extern unsigned long long __umoddi3(unsigned long long, unsigned long long); 58 46 47 extern int __divmodsi3(int, int, int *); 48 extern unsigned int __udivmodsi3(unsigned int, unsigned int, unsigned int *); 49 50 extern long long __divmoddi3(long long, long long, long long *); 59 51 extern unsigned long long __udivmoddi3(unsigned long long, unsigned long long, 60 52 unsigned long long *); -
boot/genarch/src/division.c
r2cc7f16 rc6588ce 73 73 { 74 74 unsigned long long result; 75 int steps = sizeof(unsigned long long) * 8; 75 int steps = sizeof(unsigned long long) * 8; 76 76 77 77 *remainder = 0; … … 104 104 105 105 /* 32bit integer division */ 106 int __divsi3(int a, int b) 106 int __divsi3(int a, int b) 107 107 { 108 108 unsigned int rem; … … 116 116 117 117 /* 64bit integer division */ 118 long long __divdi3(long long a, long long b) 118 long long __divdi3(long long a, long long b) 119 119 { 120 120 unsigned long long rem; … … 155 155 156 156 /* 64bit remainder of the signed division */ 157 long long __moddi3(long long a, longlong b)157 long long __moddi3(long long a, long long b) 158 158 { 159 159 unsigned long long rem; … … 183 183 } 184 184 185 int __divmodsi3(int a, int b, int *c) 186 { 187 unsigned int rem; 188 int result = (int) divandmod32(ABSVAL(a), ABSVAL(b), &rem); 189 190 if (SGN(a) == SGN(b)) { 191 *c = rem; 192 return result; 193 } 194 195 *c = -rem; 196 return -result; 197 } 198 199 unsigned int __udivmodsi3(unsigned int a, unsigned int b, 200 unsigned int *c) 201 { 202 return divandmod32(a, b, c); 203 } 204 205 long long __divmoddi3(long long a, long long b, long long *c) 206 { 207 unsigned long long rem; 208 long long result = (int) divandmod64(ABSVAL(a), ABSVAL(b), &rem); 209 210 if (SGN(a) == SGN(b)) { 211 *c = rem; 212 return result; 213 } 214 215 *c = -rem; 216 return -result; 217 } 218 185 219 unsigned long long __udivmoddi3(unsigned long long a, unsigned long long b, 186 220 unsigned long long *c) -
boot/generic/include/memstr.h
r2cc7f16 rc6588ce 36 36 37 37 extern void *memcpy(void *, const void *, size_t); 38 extern void *memmove(void *, const void *, size_t); 38 39 39 40 #endif -
boot/generic/src/memstr.c
r2cc7f16 rc6588ce 51 51 } 52 52 53 /** Move memory block with possible overlapping. 54 * 55 * Copy cnt bytes from src address to dst address. The source 56 * and destination memory areas may overlap. 57 * 58 * @param dst Destination address to copy to. 59 * @param src Source address to copy from. 60 * @param cnt Number of bytes to copy. 61 * 62 * @return Destination address. 63 * 64 */ 65 void *memmove(void *dst, const void *src, size_t cnt) 66 { 67 /* Nothing to do? */ 68 if (src == dst) 69 return dst; 70 71 /* Non-overlapping? */ 72 if ((dst >= src + cnt) || (src >= dst + cnt)) 73 return memcpy(dst, src, cnt); 74 75 uint8_t *dp; 76 const uint8_t *sp; 77 78 /* Which direction? */ 79 if (src > dst) { 80 /* Forwards. */ 81 dp = dst; 82 sp = src; 83 84 while (cnt-- != 0) 85 *dp++ = *sp++; 86 } else { 87 /* Backwards. */ 88 dp = dst + (cnt - 1); 89 sp = src + (cnt - 1); 90 91 while (cnt-- != 0) 92 *dp-- = *sp--; 93 } 94 95 return dst; 96 } 97 53 98 /** @} 54 99 */ -
boot/generic/src/printf_core.c
r2cc7f16 rc6588ce 210 210 /* Print leading spaces. */ 211 211 size_t strw = str_length(str); 212 if ( precision == 0)212 if ((precision == 0) || (precision > strw)) 213 213 precision = strw; 214 214 -
boot/generic/src/str.c
r2cc7f16 rc6588ce 100 100 #include <str.h> 101 101 #include <errno.h> 102 103 /** Check the condition if wchar_t is signed */ 104 #ifdef WCHAR_IS_UNSIGNED 105 #define WCHAR_SIGNED_CHECK(cond) (true) 106 #else 107 #define WCHAR_SIGNED_CHECK(cond) (cond) 108 #endif 102 109 103 110 /** Byte mask consisting of lowest @n bits (out of 8) */ … … 198 205 * code was invalid. 199 206 */ 200 int chr_encode( wchar_t ch, char *str, size_t *offset, size_t size)207 int chr_encode(const wchar_t ch, char *str, size_t *offset, size_t size) 201 208 { 202 209 if (*offset >= size) … … 325 332 bool ascii_check(wchar_t ch) 326 333 { 327 if ( (ch >= 0) && (ch <= 127))334 if (WCHAR_SIGNED_CHECK(ch >= 0) && (ch <= 127)) 328 335 return true; 329 336 … … 338 345 bool chr_check(wchar_t ch) 339 346 { 340 if ( (ch >= 0) && (ch <= 1114111))347 if (WCHAR_SIGNED_CHECK(ch >= 0) && (ch <= 1114111)) 341 348 return true; 342 349 -
boot/generic/src/version.c
r2cc7f16 rc6588ce 32 32 33 33 static const char *project = "HelenOS bootloader"; 34 static const char *copyright = "Copyright (c) 2001-2011 HelenOS project";34 static const char *copyright = STRING(COPYRIGHT); 35 35 static const char *release = STRING(RELEASE); 36 36 static const char *name = STRING(NAME);
Note:
See TracChangeset
for help on using the changeset viewer.
